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