我Client客戶端要怎麼區分對方Server端發過來的是”文本文字”消息還是”文件”、還是”震動”?傳過去的都是bytes陣列,怎區分? 實現傳送文件 接收數據是文字?還是文件?震動? 設計「協議」 把要傳遞的位元組陣列byte[]前面都加上一個位元做為標識。0:表示文字;1:表示文件 即:文字:0+文字(位元組陣列byte[]表示) ...
[C# 筆記][Socket] 給指定的客戶端發送消息-6
現在有一個問題,我有多個客戶端,我只能發給最後一個客戶端,之前的客戶端我想發也發不了,Server端只能給最後一個連進來的客戶端發消息。 造成這個情況的原因是什麼? 在Server端的Listen()創建負責通信的Socket,下一個客戶端連過來之後,跟原來那個通信的Socket就沒有了,取而代之是新的Socket的,因為我們沒有把它儲存起來。 所以,每來一個新的客戶端,原來那個就沒有...
[C# 筆記][Socket] 服務器給客戶端發送消息-5
Server Socket-創建和客戶端通信的Socket -1 Server Socket-服務器接收客戶端發送過來的消息 -2 Server端 Send() /// <summary> /// 服務器給客戶端發送消息 /// </summary> /// <param name="sender"></param> /// &...
[C# 筆記][Socket] 客戶端接收服務端發來的消息-4
Client Socket-客戶端給服務器發送消息 -1 Server端 Send() /// <summary> /// 服務器給客戶端發送消息 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private...
[C# 筆記][Socket] 客戶端給服務器發送消息-3
客戶端 Socket() Connect() 連接建立 Send() 發送數據 Receive() 接收數據 Close() 連接Server private void btnStart_Click(object sender, EventArgs e) { //創建負責通信的Socket Socket socketSend = new Socket(AddressF...
[C# 筆記][Socket] 服務器接收客戶端發送過來的消息-2
創建和客戶端通信的Socket TODO: Receive()、Send() Step1:Receive() //Receive()-客戶端連接成功後,服務器應該接受客戶端發來的消息 byte[] buffer = new byte[1024 * 1024 * 2]; //把數據放到bytes裡 //實際接受到的有效bytes數 int r = socketSend.Receive...
[C# 筆記][Socket] 創建和客戶端通信的Socket-1
Server端-監聽(draft) 設計要點: Socket() Bind()綁定監聽端口 Listen() 設置監聽隊列 Accept() 循環等待客戶端連接 Receive() Send() //Socket(): 創建一個負責監聽的Socket (流式的tcp) Socket socketWatch = new Socket(AddressFamily.InterNetwork, ...
[C# 筆記] Socket 大白話
Socket 兩個應用程式的通信 人通過「電話」可以通信 應用程序通過「Socket」來通信 Socket(孔/插座/網路介面/套接字) 就是程序間的電話機 我和你打電話,電話,規定好的語言 電腦和電腦進行聯繫,Socket,Http協議 在internet上有很多這樣的主機,這些主機一般都運行了很多個服務軟體,同時提供幾種服。每個服務都打開一個...
[C# 筆記] Multicast Delegate 多點傳送委派(多播委托)
多點傳送委派(多播委托) 多播委托可以指向多個函數 除了+=,還可以減掉函數 -= namespace 多播委托 { public delegate void DelTest(); internal class Program { static void Main(string[] args) { //多播委托...
[C# 筆記][WinForm] Delegate 委派表單傳值
表單配置: Form1: label + button Form2: textbox + button 設計需求: 在Form1按下button後,會顯示Form2 在Form2的textbox填寫文字,按下button後 文字會顯示在Form1的label上 實作思路: 在Form1寫一個方法傳入參數可以顯...