----Socket程序結構分析: ---------
privateSocket server; 聲明 Socket類提供一組豐富的網絡通信方法和屬性.
privateSocket client;
public void OpenTCP() ----建立程序
{
myThreadDelegate= new ThreadStart(Listen);
委托屬性的變量激活委托指令啟動線程監聽
myThread= new Thread(myThreadDelegate);初始化線程類型變量
myThread.Start();線程類型變量開始執行
}
///
///創建TCP服務端并監聽
///
publicvoid Listen()//創建tcp服務端
{
//設置IP
stringIP = ipAddressTB.Text;
intPort = Convert.ToInt32(portTB.Text); 設置端口
//初始化終結點實例
IPEndPointlocalEP = new IPEndPoint(IPAddress.Parse(IP), Port);用指定的地址和端口號初始化
//初始化SOCKET實例
server= new Socket(localEP.AddressFamily, SocketType.Stream, ProtocolType.Tcp);
//允許SOCKET被綁定在已使用的地址上。
Socket(AddressFamily, SocketType, ProtocolType)使用指定的地址族、套接字類型和協議初始化
server.SetSocketOption(SocketOptionLevel.Socket,SocketOptionName.ReuseAddress, true);
ShowMsg("等待客戶端連接..."); 發出信息
try
{
//綁定
server.Bind(localEP);
//監聽10次
server.Listen(10);
client= server.Accept(); 服務接收
IPEndPointclientIP = (IPEndPoint)client.RemoteEndPoint;
ShowMsg("已連接的客戶端:"+ clientIP.Address + ",端口:" + clientIP.Port);
Received_Robot();從機器人接收信息
}
catch(Exception ex)
{
//MessageBox.Show(ex.Message,"Listen_Error");
}
}
IPEndPoint(IPAddress.Parse(IP), Port)
重載 | |
IPEndPoint(Int64, Int32) | 用指定的地址和端口號初始化IPEndPoint類的新實例。 |
IPEndPoint(IPAddress, Int32) | 用指定的地址和端口號初始化IPEndPoint類的新實例。 |
Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp)
InterNetwork | 2 | IP 版本 4 的地址。 |
Stream支持可靠、雙向、基于連接的字節流,而不重復數據,也不保留邊界。此類型的Socket與單個對方主機通信,并且在通信開始之前需要建立遠程主機連接。Stream使用傳輸控制協議 (ProtocolType.Tcp) 和AddressFamily。InterNetwork地址族。
Tcp | 6 | 傳輸控制協議。 |
審核編輯:劉清
-
機器人
+關注
關注
211文章
28632瀏覽量
208328 -
連接器
+關注
關注
98文章
14653瀏覽量
137195 -
PLC控制
+關注
關注
9文章
251瀏覽量
27358 -
TCP通信
+關注
關注
0文章
146瀏覽量
4288
原文標題:C# Socket程序結構分析及應用
文章出處:【微信號:gh_a8b121171b08,微信公眾號:機器人及PLC自動化應用】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論