我创建的TCP服务器无法正常工作。它仅接收和发送字符串,但不能正确执行工作。
所以我有此NOS EXpos exe文件,上面有4个按钮,它将信息发送到此TCP接收器(服务器)。
我可以按自己的方式进行操作,但据推测我的方法是错误的,所以请告诉我我做错了什么。
我设法连接到服务器并显示了接收到的数据,但这也许就是为什么我看不到问题所在的原因。
private void Button1_Click(object sender, EventArgs e)
{
TcpListener server = null;
try
{
// TCP får port 12345.
Int32 port = 12345;
IPAddress localAddr = IPAddress.Parse("127.0.0.1");
// Tcp server = new TcpListener(port);
server = new TcpListener(localAddr, port);
// Starta lyssna på klienter
server.Start();
// Buffer for reading data
Byte[] bytes = new Byte[256];
String data = null;
// Börjar loop
while (true)
{
MessageBox.Show("Väntar på anslutning... ");
// Perform a blocking call to accept requests.
// You could also user server.AcceptSocket() here.
TcpClient client = server.AcceptTcpClient();
MessageBox.Show("Ansluten!");
data = null;
NetworkStream stream = client.GetStream();
int i;
// Loop to receive all the data sent by the client.
try
{
while ((i = stream.Read(bytes, 0, bytes.Length)) !=0)
{
// Translate data bytes to a ASCII string.
data = System.Text.Encoding.ASCII.GetString(bytes, 0, i);
// Process the data sent by the client.
data = data.ToUpper();
byte[] msg = System.Text.Encoding.ASCII.GetBytes(data);
// Skicka tillbaks svar
stream.Write(msg, 0, msg.Length);
MessageBox.Show("Sent: Skickad", data);
}
// Stäng ner
client.Close();
}
catch
{
MessageBox.Show("Klienten stängdes ned");
}
}
}
catch (SocketException)
{
MessageBox.Show("SocketException: {0}");
}
finally
{
// Sluta lyssna på nya klienter
server.Stop();
}
}
现在没有错误消息,只是整个main函数都是错误的,因为我知道这甚至无法正常工作。