⑴ 開發一個類似ecshop的多用戶商城系統多少錢
不知道樓主是指的開發一個微分銷系統是自己獨立開發,還是基於第三方電商軟體開發。如果是自己獨立開發,費時費力,投入成本高;直接購買成品商城軟體個人覺得是一個不錯的選擇。如果有源碼的話,在此基礎上還可以自行二次開發調整,開發出獨屬於企業特色的商城系統。至於商城平台費用問題,從幾萬到幾十萬不等,通常會由於電商軟體不同的功能、不同的開發語言與性能,其費用也會有所不同。就拿之前我們購買的shop++商城系統來說,功能不同,對應的費用也是不同的。建議樓主可以根據自己的實際需求來選擇。
import java.io.InputStream;
import java.io.DataInputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.DataOutputStream;
import java.io.BufferedReader;
import java.net.ServerSocket;
import java.net.Socket;
import java.io.IOException;
import java.util.Date;
class Server
{
public Server()
{
try
{
ServerSocket s=new ServerSocket(8888);
Socket ss=s.accept();
OutputStream out=ss.getOutputStream();
DataOutputStream dout=new DataOutputStream(out);
InputStream in=ss.getInputStream();
DataInputStream din=new DataInputStream(in);
System.out.print(din.readUTF()+"!");
dout.writeUTF("你已經連接到伺服器"+"\t"+"你的地址:"+ss.getInetAddress()+"\t"
+"你的鏈接埠:"+ss.getLocalPort()+"\n");
new ReadMessage(din).start();
new SendMessage(dout).start();
}
catch (IOException e)
{
e.printStackTrace();
}
}
public static void main(String[] args)
{
new Server();
}
}
//接受客戶端信息
class ReadMessage extends Thread
{
private DataInputStream din;
public ReadMessage(DataInputStream din)
{
this.din=din;
}
public void run()
{
String str;
try
{
while (true)
{
str=din.readUTF();
System.out.println(new Date().toLocaleString()+"客戶端說:"+str);
if (str.equals("bye"))
{
System.out.println("客戶端下線!");
break;
}
}
}
catch (IOException e)
{
e.printStackTrace();
}
}
}
// 發出伺服器信息
class SendMessage extends Thread
{
private DataOutputStream dout;
public SendMessage(DataOutputStream dout)
{
this.dout=dout;
}
public void run()
{
InputStreamReader inr=new InputStreamReader(System.in);
BufferedReader buf=new BufferedReader(inr);
String str;
try
{
while(true)
{
str=buf.readLine();
dout.writeUTF(str);
if (str.equals("bye"))
{
System.out.println("伺服器退出!");
System.exit(1);
}
}
}
catch (IOException e)
{
e.printStackTrace();
}
}
}
import java.io.InputStream;
import java.io.DataInputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.DataOutputStream;
import java.io.BufferedReader;
import java.net.Socket;
import java.io.IOException;
import java.util.Date;
class Client
{
public Client()
{
try
{
Socket s=new Socket("192.168.1.2",8888);
InputStream in=s.getInputStream();
DataInputStream din=new DataInputStream(in);
OutputStream out=s.getOutputStream();
DataOutputStream dout=new DataOutputStream(out);
dout.writeUTF("伺服器你好!我是客戶端");
System.out.println(din.readUTF());
new Thread(new SenderMessage(dout)).start();
new Thread(new ReaderMessage(din)).start();
}
catch (IOException e)
{
e.printStackTrace();
}
}
public static void main(String[] args)
{
new Client();
}
}
class ReaderMessage implements Runnable
{
private DataInputStream din;
public ReaderMessage(DataInputStream din)
{
this.din=din;
}
public void run()
{
String str;
try
{
while(true)
{
str=din.readUTF();
System.out.println(new Date().toLocaleString()+"伺服器說:"+str);
if (str.equals("bye"))
{
System.out.println("伺服器已經關閉,此程序自動退出!");
break;
}
}
}
catch (IOException e)
{
e.printStackTrace();
}
}
}
class SenderMessage implements Runnable
{
private DataOutputStream dout;
public SenderMessage(DataOutputStream dout)
{
this.dout=dout;
}
public void run()
{
String str;
InputStreamReader inf=new InputStreamReader(System.in);
BufferedReader buf=new BufferedReader(inf);
try
{
while (true)
{
str=buf.readLine();
dout.writeUTF(str);
if (str.equals("bye"))
{
System.out.println("客戶端自己退出!");
System.exit(1);
}
}
}
catch (IOException e)
{
e.printStackTrace();
}
}
}
⑶ 購買多用戶商城系統要源碼嗎
如果非要進行一個好壞的區分,事實上沒有明確的標准來判斷哪種類型的多用戶商城系統更好、商家在選擇網店系統時、只要選擇適合自身企業即可。
1、多用戶商城系統源碼的安全性
我們知道的源碼多用戶商城系統新功能的提出、漏洞bug的發現、都在一個公開的環境中、其發展根據客戶的實時需求而變正是因為如此,企業發現問題也能更及時能將更多的功能系統進行更好的完善、但是最重要的還是需要選擇靠譜的商城開發服務商、強大的技術才是安全的保障。
2、多用戶商城系統源碼的可擴展性
多用戶商城系統源碼是可擴展的,在商家使用多用戶商城的過程中用戶必然會有新的特點和新的需求。那麼這個時候程序員就可以根據源碼系統中開放的代碼進行二次開發、為商城系統增加其他適應企業發展的功能、更好的滿足企業的需求。
⑷ 400分求ASP.NET實現多用戶並發產生不重復遞增單號源碼
1、把你的單號在庫中保存的時候拆分成兩個欄位,即:單號前綴:name;單號末尾序號:id(自增),在前台展示的時候就可以用 name+id的方式顯示。
個人覺得這種方式是最好最簡單的,不用考慮並發時的同步問題,完全交給資料庫控制。而且單號的展現形式可以靈活自由配置,更改前綴只要更改name欄位的值就行了,也不用額外寫代碼。
2、guid,這個可以程序很簡單生成32位全球唯一標識符,但不復合你的(前綴+序列)要求。
3、程序生成序列,這種方式比較麻煩且不可靠。
3.1如果在程序中用上面幾位說的從資料庫select max(序列)的方式的話會存在同步問題,有可能產生重復的序列,那還不如用我的1方法更好。
3.2另外一種就是序列完全由程序生成,基本代碼如下。
public static int32 uid=1;
Application.luck();
主鍵變數=uid++;
Application.unlock();
這個方式在應用重啟的時候uid就會重新變為1,所以要連續就要在應用啟動的時候查詢一次資料庫進行初始化。
添加GLOBAL.ASAX文件並在application_start方法中查詢資料庫進行初始化:
uid=(select max(id) from 資料庫)+1;