我可以在同一套接字上發送和接收UDP數據報,我用於TCP通信。在我的應用程序中存在多媒體通信,我必須使用UDP進行通信。如果我創建一個新的套接字,它拋出的屬性的例外LingerState和NoDelay。當我將老套接字實例賦值給其他套接字變量時,它不允許我更改屬性,因爲大部分屬性都是隻讀的。在TCP連接區域發送數據。在同一應用程序中使用不同的協議使用相同的套接字
* 碼*
插座SendingSocket =新的Socket(AddressFamily.InterNetwork,SocketType.Dgram,ProtocolType.Udp); IPEndPoint Endp = new IPEndPoint(IPAddress.Parse(「192.168.3.233」),port);
SendingSocket.Bind(Endp);
while(SendingSocket.Connected)
{ string Message =「通過UDP發送測試消息」; ASCIIEncoding Encode = new ASCIIEncoding(); byte [] MessageBytes = Encode.GetBytes(Message); SendingSocket.SendTo(MessageBytes,0,MessageBytes.Length,SocketFlags.None,Endp); }'
TCP和UDP的工作完全不同。 TCP在客戶端/服務器之間維持一個持續的連接,直到關閉/丟棄。 UDP不。我見過的任何軟件都需要使用兩個套接字,一個用於TCP,另一個用於UDP。 – GeoffM 2011-12-20 10:19:08
我只是問,它是應用程序的要求。我有可分離的溝通 – Samie 2011-12-20 11:10:34