Eu tenho um programa cliente / servidor TCP simples em dois laptops. O servidor deve funcionar bem como eu uso "netstat -anb" eo servidor aparece como escuta, "0.0.0.0:102", então minha conexão com o cliente falhou, com "192.168.10.5:102".
A porta deve corresponder e, para o endereço IP do servidor, eu a configurei como "0.0.0.0", então ela deve aceitar qualquer conexão.
Quando executo o programa em um laptop, tudo funciona bem. Estou com dificuldade para solucionar problemas. Eu olhei para cima de um post de casal, a maioria deles sugeriu o ip do servidor de configuração para "0.0.0.0" que eu fiz. E "netstat -anb" mostra que está escutando.
código do lado do cliente na conexão
private void btnConnect_Click(object sender, EventArgs e)
{
client = new Socket(AddressFamily.InterNetwork,SocketType.Stream, ProtocolType.Tcp);
IPAddress ip = Dns.GetHostByName(Dns.GetHostName()).AddressList[0];
try
{
client.Connect(new IPEndPoint(ip, port));
}
catch(Exception ex) {
MessageBox.Show("Connection failed");
MessageBox.Show(ex.ToString());
return;
}
this.Text = "Connected";
}
Lado do servidor
private void btnListen_Click(object sender, EventArgs e)
{
Invoke((MethodInvoker)delegate {
statusLblOne.Text = "Listening..";
return;
});
// establish connection with socket.
server = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
server.Bind(new IPEndPoint(0, port));
server.Listen(0);
// use <acceptStream> to accept data
acceptStream = server.Accept();
txtMessage.Enabled = true;
// allocate a new thread for this acceptstream
statusLblOne.Text = "Receiving data...";
Thread th = new Thread(receiveData);
th.Start();
// close the listener socket
server.Close();
}
Eu postei o código para conexão na pergunta original. Realmente meio que confuso agora, eu procurei um monte de post no stackoverflow para ajudar, mas a maioria deles disse que quer usar uma porta diferente (0.0.0.0 deve funcionar) ou o servidor não está escutando (netstat mostra que está escutando). Como devo abordar isso? o que mais informações posso fornecer para melhor diagnóstico
Tags networking c# tcp port