C Socket簡單例子(伺服器與客戶端通訊)

2021-06-21 20:46:22 字數 2071 閱讀 9456

這個例子只是簡單實現了如何使用 socket 類實現面向連線的通訊。

注意:此例子的目的只是為了說明用套接字寫程式的大概思路,而不是實際專案中的使用程式。在這個例子中,實際上還有很多問題沒有解決,如訊息邊界問題、埠號是否被占用、訊息命令的解析問題等。。

下面是兩個程式的**,(兩個程式均為控制台程式)

先發服務端的(server)完整**如下:

引入命名空間:

[csharp]view plain

copy

print?

using

system.net.sockets;  

using

system.net;  

using

system.threading;  

完整**如下:

[csharp]view plain

copy

print?

namespace

socketserver  

成功", serversocket.localendpoint.tostring());  

//通過clientsoket傳送資料

thread mythread = new

thread(listenclientconnect);  

mythread.start();  

console.readline();  

}  /// 

/// 監聽客戶端連線

/// 

private

static

void

listenclientconnect()  

}  /// 

/// 接收訊息

/// 

/// 

private

static

void

receivemessage(

object

clientsocket)  

訊息", myclientsocket.remoteendpoint.tostring(), encoding.ascii.getstring(result, 0, receivenumber));  

}  catch

(exception ex)  

}  }  }  

}  

以上是服務端(server)的完整**。

客戶端(client)的完整**如下:

引入命名空間:

[csharp]view plain

copy

print?

using

system.net;  

using

system.net.sockets;  

using

system.threading;  

完整**:

[csharp]view plain

copy

print?

namespace

socketclient  

catch

//通過clientsocket接收資料

intreceivelength = clientsocket.receive(result);  

console.writeline("接收伺服器訊息:"

,encoding.ascii.getstring(result,0,receivelength));  

//通過 clientsocket 傳送資料

for(

inti = 0; i 

"+ sendmessage);  

}  catch

}  console.writeline("傳送完畢,按回車鍵退出"

);  

console.readline();  

}  }  

}  

編譯成功後,先執行 服務端(server),再執行客戶端(client)即可達到通訊效果。

效果如下圖:

該程式已在區域網測試通過。(192.168.x.x)

C Socket簡單例子(伺服器與客戶端通訊)

這個例子只是簡單實現了如何使用 socket 類實現面向連線的通訊。注意 此例子的目的只是為了說明用套接字寫程式的大概思路,而不是實際專案中的使用程式。在這個例子中,實際上還有很多問題沒有解決,如訊息邊界問題 埠號是否被占用 訊息命令的解析問題等。下面是兩個程式的 兩個程式均為控制台程式 先發服務端...

C Socket簡單例子(伺服器與客戶端通訊)

這個例子只是簡單實現了如何使用 socket 類實現面向連線的通訊。注意 此例子的目的只是為了說明用套接字寫程式的大概思路,而不是實際專案中的使用程式。在這個例子中,實際上還有很多問題沒有解決,如訊息邊界問題 埠號是否被占用 訊息命令的解析問題等。下面是兩個程式的 兩個程式均為控制台程式 先發服務端...

C Socket簡單例子(伺服器與客戶端通訊)

這個例子只是簡單實現了如何使用 socket 類實現面向連線的通訊。注意 此例子的目的只是為了說明用套接字寫程式的大概思路,而不是實際專案中的使用程式。在這個例子中,實際上還有很多問題沒有解決,如訊息邊界問題 埠號是否被占用 訊息命令的解析問題等。下面是兩個程式的 兩個程式均為控制台程式 先發服務端...