我遇到從外部源連接的套接字問題Socket c#通過互聯網聊天?
請參閱下面我的構造函數。
//使用UDP套接字
clientSocket = new Socket(AddressFamily.InterNetwork,
SocketType.Dgram, ProtocolType.Udp);
EndPoint ourEP = new IPEndPoint(IPAddress.Any, 1450);
//Listen asynchronously on port 1450 for coming messages (Invite, Bye, etc).
clientSocket.Bind(ourEP);
//Receive data from any IP.
EndPoint remoteEP = (EndPoint)(new IPEndPoint(IPAddress.Any, 0));
byteData = new byte[1024];
//Receive data asynchornously.
clientSocket.BeginReceiveFrom(byteData,
0, byteData.Length,
SocketFlags.None,
ref remoteEP,
new AsyncCallback(OnReceive),
null);
這是連接按鈕功能:
private void btnCall_Click(object sender, EventArgs e)
{
//Get the IP we want to connect.
otherPartyIP = new IPEndPoint(IPAddress.Parse(txtCallToIP.Text), 1450);
otherPartyEP = (EndPoint)otherPartyIP;
}
我讓聊天應用點對點通過互聯網。我打開了端口1450防火牆並添加了端口,但它沒有連接。請你幫忙嗎?
你需要讓你的問題更清晰。你有沒有收到任何錯誤信息?或者它只是無法連接?它曾經工作過嗎? –
是的。它在本地機器上運行正常。但通過互聯網運行它不連接 –
你是否證實至少ping可以在這些IP之間工作? –