求大神帮忙!C#的服务器端聊天错误:由于套接字没有连接并且(当使用一个 sendto 调用发送数据报套接字时)没有提供地址,发送或接收数据的请求没有被接受。
由于刚学Socket,本来是用C#写的服务器端与java写的客户端进行聊天,服务器端能收到消息但是不能发出消息,提示:由于套接字没有连接并且(当使用一个 sendto 调用发送数据报套接字时)没有提供地址,发送或接收数据的请求没有被接受。我提了一些主要的代码出来,请大家帮忙看看~
private void Chat_Load(object sender, EventArgs e)
{
serverHost = new IPEndPoint(IPAddress.Parse(this.IP), this.port);
serverSocket.Bind(serverHost);
this.textBox_Recieved.AppendText("Chat Ready...\n");
receiveThread = new Thread(new ThreadStart(DataRec));
receiveThread.Start();
}
private void DataRec()
{
serverSocket.Listen(0);
newSocket = serverSocket.Accept();
while (true)
{
byte[] buff = new byte[256];
List<byte> list = new List<byte>();
int length;
while ((length = newSocket.Receive(buff)) != 0)
{
for (int i = 0; i < length; i++)
{
list.Add(buff[i]);
}
receiveText = System.Text.Encoding.Default.GetString(list.ToArray());
list.RemoveRange(0, length);
this.recText = receiveText;
try
{
RecDele = new DeleRec(this.AppendText);
this.textBox_Recieved.Invoke(RecDele);
}
catch { }
}
}
}
private void btn_Send_Click(object sender, EventArgs e)
{
this.sendText = this.textBox_Send.Text.Trim();
serverSocket.Send(System.Text.Encoding.ASCII.GetBytes(this.sendText));
//sendThread = new Thread(new ThreadStart(this.send));
//sendThread.Start();
this.textBox_Recieved.AppendText("Server:" + this.textBox_Send.Text.ToString() + '\n');
}