我用socket类实现多个连接,有如下代码,请各位高手帮我看一下能否实现在listbox表中记录每个连接的信息。
Socket listener = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
long ip=ipaddress.Address ;
listener.Bind ( new IPEndPoint( ip,0 ));//本地主机的任意端口
listener.Listen ( 1000 );//最多1000个连接
Socket socket = listener.Accept();
if ( socket.Connected )//建立连接就接受远程主机发来的字符串
{
Stream netStream=new NetworkStream ( socket );
StreamReader reader=new StreamReader ( netStream );
string result=reader.ReadToEnd ();
//判断远程主机发来的字符串与文本框输入的字符串是否相等,相等
就在表中显示该连接的信息
if( result.Trim() == txtString.Text.Trim() )
{
IPHostEntry RemoteName=Dns.GetHostByAddress(((IPEndPoint)socket.RemoteEndPoint).Address);
lstBClient.Items.Add ( RemoteName.HostName.ToString()+" "+
((IPEndPoint)socket.RemoteEndPoint).Address .ToString()+" "+
((IPEndPoint)socket.RemoteEndPoint ).Port .ToString() ) ;
}
}
不知道public static 的是否满足你的要求?