兩個端,乙個服務端,乙個客戶端。都是控制台程式。
顯然地,服務端的要引用supersocket,但引用後編譯時候會提示,所以最終引用的內容如圖所示:
supersocket內建了log4net,所以會有圖中所示。
然後上**:
服務端:
using system;
using system.linq;
using supersocket.socketbase;
using supersocket.socketbase.protocol;
namespace supersocketserver
console.writeline("the server started successfully, press key 'q' to stop it!");
//1.
//2.
while (console.readkey().keychar != 'q')
console.writeline("the server was stopped!");
console.readkey();
}//1.
//2.}}
客戶端
using system;
using system.net;
using system.net.sockets;
using system.text;
using system.threading;
namespace supersocketclient
static void main(string args)
/// /// 接收訊息
///
///
static void recive()
var str = encoding.utf8.getstring(buffer, 0, effective);
console.writeline("來自伺服器 --- " + str);
thread.sleep(2000);}}
static void send()
" + "\r\n");
var temp = socketclient.send(buffter);
console.writeline(i);
thread.sleep(1000);}}
}}
以上**可直接執行,客戶端與伺服器可以互發訊息。
注意這只是乙個基本應用,如果需要企業級的,高階一些的應用,則需要
自寫 session、server,需要繼承commandbase和過載executecommand。如:
using system.linq;
using supersocket.socketbase;
using supersocket.socketbase.command;
using supersocket.socketbase.protocol;
namespace supersocketserver}}
這樣的話,客戶端給伺服器發訊息,發諸如 「 add 3 4 \r\n」 這樣的字串給服務端,服務端就可以執行上面的這段**,並且再返回給客戶端。
再然後,如果命令是很多的,也不能這樣寫死,就要使用c#的反射,動態地根據客戶端傳來的字串,然後呼叫服務端的響應函式。再返回給客戶端內容。
這裡只是說乙個基本思路。
具體的格式,由客戶端與服務端具體約定。
完畢。
NSDictionary plist簡單示例
在iphone ipad工程裡面,新增 file other property list,例如 test.plist,然後在其中新增3個專案 key name,date,dept,並填充value值。以下為對此test.plist檔案的一系列常用操作 myname,mydate,mydept為定義的...
NSDictionary plist簡單示例
在iphone ipad工程裡面,新增 file other property list,例如 test.plist,然後在其中新增3個專案 key name,date,dept,並填充value值。以下為對此test.plist檔案的一系列常用操作 myname,mydate,mydept為定義的...
C SuperSocket配置啟動UDP伺服器
using supersocket.socketbase using supersocket.socketbase.protocol using system using system.collections.generic using system.linq using system.text u...