一、服務(wù)器的搭建
新建一個(gè)C#控制臺(tái)應(yīng)用,用于搭建服務(wù)器。
// 設(shè)置接收字節(jié)的容器,容量大小為1024個(gè)字節(jié),客戶(hù)端發(fā)來(lái)的字節(jié)都存在這里
static byte[] buffer = new byte[1024];
static void Main(string[] args)
{
// 建立Tcp服務(wù)器socket,名為server,用于監(jiān)聽(tīng)客戶(hù)端連接
Socket server = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
// 配置端口?!?27.0.0.1”是本機(jī)IP地址,也可在命令提示符(黑窗口)輸入ipconfig,查看ipv4地址
// 7777是端口號(hào)、可在1025~65535隨便選。
EndPoint endpoint = new IPEndPoint(IPAddress.Parse("127.0.0.1"), 7777);
// 綁定端口
server.Bind(endpoint);
// server開(kāi)始監(jiān)聽(tīng)客戶(hù)端連接。10,是指服務(wù)器能夠同時(shí)允許10個(gè)客戶(hù)端連接,可寫(xiě)其他
server.Listen(10);
Console.WriteLine("服務(wù)器開(kāi)啟成功,開(kāi)始監(jiān)聽(tīng)~");
// 當(dāng)有客戶(hù)端接入時(shí),新建名為serverManager的Socket,用于接收客戶(hù)端的消息。
// 前面的server是接收客戶(hù)端消息用,而這里的serverManager是接收客戶(hù)端消息用,各司其職。
Socket serverManager = server.Accept();
// 返回收到的字節(jié)的實(shí)際長(zhǎng)度
int length = serverManager.Receive(buffer);
// 用Encoding.UTF8.Getstring(),將收到的實(shí)際長(zhǎng)度的字節(jié)轉(zhuǎn)化為string類(lèi)型
string mes = Encoding.UTF8.GetString(buffer, 0, length);
Console.WriteLine("收到了" + length + "個(gè)字節(jié),內(nèi)容為:" + mes);
Console.ReadKey();
}
注:serverManager除了接收消息,也可以發(fā)送消息。基本除了監(jiān)聽(tīng),其他活它都干。
二、客戶(hù)端的搭建
再建一個(gè)C#控制臺(tái)應(yīng)用,用于搭建客戶(hù)端。
static void Main(string[] args)
{
// 建立Tcp客戶(hù)端socket,名為client,用于監(jiān)聽(tīng)客戶(hù)端連接,和建立服務(wù)器的Socket一樣的配方
Socket client = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
// 配置端口,“127.0.0.1”、7777,均和服務(wù)器保持一致
EndPoint endpoint = new IPEndPoint(IPAddress.Parse("127.0.0.1"), 7777);
// 接入端口
client.Connect(endpoint);
string content = "這里是客戶(hù)端";
// 用Encoding.UTF8.GetBytes(),將要發(fā)送的內(nèi)容轉(zhuǎn)化為字節(jié)
byte[] data = Encoding.UTF8.GetBytes(content);
// 發(fā)送字節(jié)
client.Send(data);
}
搭建好之后,先運(yùn)行服務(wù)器端,
再運(yùn)行客戶(hù)端。
文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-701777.html
一個(gè)簡(jiǎn)單的服務(wù)器和客戶(hù)端就搭建完成。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-701777.html
到了這里,關(guān)于C#搭建Socket服務(wù)器與客戶(hù)端,助你快速入門(mén)(極簡(jiǎn)版)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!