使用TcpListener,TcpClient建立连接后,能否由服务器端通过该链接反馈信息到客户端TcpClient
使用TcpListener,TcpClient建立连接后,TcpListener侦听并接受数据后一般需要反馈一个信息给客户端,如数据完整性或者处理结果。能否通过已经建立的链接直接传递,还是需要重新建立一次链接,由在客户端使用TcpListener进行侦听?如果能直接利用已经建立的链接,从服务器端返回信息到客户端,怎么做呢
源码:
服务器端:
		public  void  StartListen()
		{  
			TcpListener serverListener=new  TcpListener(9999);
			serverListener.Start();
			while(true)
			{
				TcpClient tcpClient=serverListener.AcceptTcpClient();
				NetworkStream netStream=tcpClient.GetStream();
				StreamReader sr=new  StreamReader(netStream);				
				string  buffer="";  
				string  received="";
				received=sr.ReadLine();
				while(received!=null && received.Length!=0)
				{
					buffer+=received;
					buffer+="\r\n";
					received=sr.ReadLine();
				}  
				listBox1.Items.Add(buffer+serverListener.AcceptSocket().RemoteEndPoint);
				sr.Close();
				netStream.Close();
				tcpClient.Close();
			}
		}
客户端:
		private void button1_Click(object sender, System.EventArgs e)
		{
			TcpClient tcpClient=new  TcpClient("127.0.0.1",9999);
			NetworkStream netStream=tcpClient.GetStream();
			StreamWriter sw=new  StreamWriter(netStream);
			sw.Write("测试消息");
			sw.Close();
			netStream.Close();
			tcpClient.Close();		
		}
附带请教一个问题:
TcpListener serverListener=new  TcpListener(port);//创建TcpListener对象实例  
这一句编译的时候会有警告:
warning CS0618: “System.Net.Sockets.TcpListener.TcpListener(int)”已过时:“Use TcpListener(IPAddress localaddr, int port).” 是什么原因呢?
------解决方案--------------------连接建立后应该会获得一个TcpClient或是Socket对象,然后可以根据这个对象获得一个NetworkStream对象,这个流对象可以写可以读,通过它就可以完成网络数据的收发。
------解决方案--------------------为什么还要使用StreamWrite或StreamReader?我就是直接使用NetworkStream的Read、Write方法。
没有代码。
------解决方案--------------------顶楼主!~~~~~~~~~