0
I’m trying to create a chat with client and server in c#, but I’m having trouble on this line:
client = servidor.AcceptTcpClient(); //Espera conexão
I’ll post my code here to see if any of you can figure out the mistake you’re making it hangs.
private void Servidor() {
ip = textBox1.Text;
servidor = new TcpListener(IPAddress.Parse(ip), port); //Cria endpoint com ip e porta
servidor.Start();
richTextBox1.Text = "[Servidor] Esperando conexão...";
client = servidor.AcceptTcpClient(); //Espera conexão
richTextBox1.Text += "\n[Servidor] Client conectado!";
Recebendo();
}
void Button1Click(object sender, System.EventArgs e)
{
Servidor();
}
private void Recebendo() {
try {
byte[] bytes = new byte[256]; //Buffer para a trânsferência de mensagens
int count;
while(true) {
NetworkStream stream = client.GetStream(); //Pega stream do client
while((count = stream.Read(bytes, 0, bytes.Length)) > 0) //recebe até‚ que não existam mais bytes para ler
{
mensagemEntrada = Encoding.ASCII.GetString(bytes, 0, count); //converte os bytes recebidos do buffer em uma string
richTextBox1.Text += "\n[Client] " + mensagemEntrada;
}
}
} catch(System.Exception ex) {
MessageBox.Show(ex.ToString());
}
public void Desconectar() {
client.Close(); //fecha conexão
servidor.Stop(); // para de escutar conexões
richTextBox1.Text += "Conexão encerrada!";
}
If you don’t want it to lock, you’ll have to use a function
async
.– Raizant