我有2個程序,客戶端和服務器,客戶端程序通過TCP協議發送特定端口的數據(EX:1370)。
我使用下面的代碼來等待我的服務器程序中的客戶端。TCP監聽套接字錯誤
IPAddress IP = (my IP Address);
IPEndPoint ipep = new IPEndPoint(IP, 1370);
listenSocket = new Socket(AddressFamily.InterNetwork,
SocketType.Stream,
ProtocolType.Tcp);
listenSocket.Bind((EndPoint) ipep);
listenSocket.BeginReceive(clientData, 0, clientData.Length,
SocketFlags.None, new AsyncCallback(OnReceiveClient), null);
我在最後一行發生錯誤,socket無法接收TCP協議中的數據。 這段代碼在UDP協議中工作得很好。 你能幫我嗎?! (感謝)
「我有一個錯誤」 是很模糊的 - 你可以提供更多的細節? – 2012-08-03 09:19:16
偵聽套接字通常用於接受連接,而不是接收數據。 UDP的交互與TCP的交互不同。你可能想看看這樣的東西:http://msdn.microsoft.com/en-us/library/system.net.sockets.tcplistener.aspx – forsvarir 2012-08-03 09:27:58
喬恩,錯誤是:「一個請求發送或接收數據被禁止,因爲套接字未連接,並且(當使用sendto調用在數據報套接字上發送時)沒有提供地址「 – user1518295 2012-08-03 09:28:58