c#tcp通信,在GetStream上发送空数据
当我使用这段代码时,它会向我的接收器发送一个空字节数组。为什么,我不写任何东西到流我只得到它。我能做些什么来防止它c#tcp通信,在GetStream上发送空数据,c#,network-programming,C#,Network Programming,当我使用这段代码时,它会向我的接收器发送一个空字节数组。为什么,我不写任何东西到流我只得到它。我能做些什么来防止它 public void Send() { TcpClient client = new TcpClient(); IPEndPoint serverEndPoint = new IPEndPoint( IPAddress.Parse( ip ), port ); client.Connect( serverEndPoint ); NetworkStream cli
public void Send()
{
TcpClient client = new TcpClient();
IPEndPoint serverEndPoint = new IPEndPoint( IPAddress.Parse( ip ), port );
client.Connect( serverEndPoint );
NetworkStream clientStream = client.GetStream();
clientStream.Close();
client.Close();
}
private TcpListener tcpListener;
private Thread listenThread;
public void Receiver()
{
this.tcpListener = new TcpListener( IPAddress.Any, port );
this.listenThread = new Thread( new ThreadStart( ListenForClients ) );
this.listenThread.Start();
}
private void ListenForClients()
{
this.tcpListener.Start();
while ( true )
{
//blocks until a client has connected to the server
TcpClient client = this.tcpListener.AcceptTcpClient();
Thread clientThread = new Thread( new ParameterizedThreadStart( HandleClientComm ));
clientThread.Start( client );
}
}
private void HandleClientComm( object client )
{
TcpClient tcpClient = (TcpClient)client;
NetworkStream clientStream = tcpClient.GetStream();
tcpClient.Close();
}
不清楚“发送空字节数组”是什么意思,但请看以下代码:
NetworkStream clientStream = client.GetStream();
clientStream.Close();
这将关闭连接。现在还不清楚你的代码打算做什么,但你似乎不太可能真的想要接受一个连接,而只是立即关闭它
在handleclientcom
中也可以执行同样的操作,这次是通过关闭TcpClient。