----Socket程序結(jié)構(gòu)分析: ---------
privateSocket server; 聲明 Socket類提供一組豐富的網(wǎng)絡(luò)通信方法和屬性。
privateSocket client;
public void OpenTCP() ----建立程序
{
myThreadDelegate = new ThreadStart(Listen);
委托屬性的變量激活委托指令啟動(dòng)線程監(jiān)聽
myThread = new Thread(myThreadDelegate);初始化線程類型變量
myThread.Start();線程類型變量開始執(zhí)行
}
///
/// 創(chuàng)建TCP服務(wù)端并監(jiān)聽
///
public void Listen()//創(chuàng)建tcp服務(wù)端
{
//設(shè)置IP
string IP = ipAddressTB.Text;
int Port = Convert.ToInt32(portTB.Text); 設(shè)置端口
//初始化終結(jié)點(diǎn)實(shí)例
IPEndPoint localEP = new IPEndPoint(IPAddress.Parse(IP), Port);用指定的地址和端口號(hào)初始化
//初始化SOCKET實(shí)例
server = new Socket(localEP.AddressFamily, SocketType.Stream, ProtocolType.Tcp);
//允許SOCKET被綁定在已使用的地址上。
Socket(AddressFamily, SocketType, ProtocolType)使用指定的地址族、套接字類型和協(xié)議初始化
server.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.ReuseAddress, true);
ShowMsg(“等待客戶端連接。。。”); 發(fā)出信息
try
{
//綁定
server.Bind(localEP);
//監(jiān)聽10次
server.Listen(10);
client = server.Accept(); 服務(wù)接收
IPEndPoint clientIP = (IPEndPoint)client.RemoteEndPoint;
ShowMsg(“已連接的客戶端:” + clientIP.Address + “,端口:” + clientIP.Port);
Received_Robot();從機(jī)器人接收信息
}
catch (Exception ex)
{
//MessageBox.Show(ex.Message, “Listen_Error”);
}
}
IPEndPoint(IPAddress.Parse(IP), Port)
Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp)
Stream支持可靠、雙向、基于連接的字節(jié)流,而不重復(fù)數(shù)據(jù),也不保留邊界。 此類型的 Socket 與單個(gè)對(duì)方主機(jī)通信,并且在通信開始之前需要建立遠(yuǎn)程主機(jī)連接。 Stream使用傳輸控制協(xié)議 (ProtocolType.Tcp) 和 AddressFamily。InterNetwork 地址族。
編輯:jq
-
機(jī)器人
+關(guān)注
關(guān)注
212文章
29297瀏覽量
210988 -
plc
+關(guān)注
關(guān)注
5028文章
13607瀏覽量
471061 -
TCP
+關(guān)注
關(guān)注
8文章
1395瀏覽量
80171 -
客戶端
+關(guān)注
關(guān)注
1文章
296瀏覽量
16950
原文標(biāo)題:C# Socket程序結(jié)構(gòu)分析及應(yīng)用
文章出處:【微信號(hào):gh_a8b121171b08,微信公眾號(hào):機(jī)器人及PLC自動(dòng)化應(yīng)用】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
玩轉(zhuǎn)C#/LABVIEW,斯撩
C#基于Halcon實(shí)現(xiàn)Basler相機(jī)采圖
socket 和 UDP 協(xié)議的對(duì)比
socket 與 RESTful API 的使用
socket 連接超時(shí)處理技巧
socket 與 HTTP 協(xié)議的關(guān)系
socket 發(fā)送和接收數(shù)據(jù)方法
socket 編程基礎(chǔ)入門
C語(yǔ)言中的socket編程基礎(chǔ)
socket編程中的阻塞與非阻塞
什么是socket編程 socket與tcp/ip協(xié)議的關(guān)系
labview中常用的程序結(jié)構(gòu)有哪幾種
socket的基本概念和原理
如何理解socket編程接口
技術(shù)干貨驛站 ▏深入理解C語(yǔ)言:掌握程序結(jié)構(gòu)知識(shí)

評(píng)論