c# Socket 中 如何发送接受 结构 ?是用流好操作还是byte[]好操作?
还有就是我的SOCKET服务器要有很多个客户端连接(长连接),如何处理
nt recv = 0;
byte[] data = new byte[1024];
IPEndPoint ipep = new IPEndPoint(IPAddress.Any,9050);
Socket newsock = new Socket(AddressFamily.InterNetwork,SocketType.Stream,ProtocolType.Tcp);
newsock.Bind(ipep);
newsock.Listen(10);
listBox1.Items.Add("Waiting For a Client");
Socket client = newsock.Accept();
IPEndPoint clientep = (IPEndPoint)client.RemoteEndPoint;
listBox1.Items.Add("Connected with :" + clientep.ToString());
string welcome = "Welcome to my Socket Server!";
data = Encoding.ASCII.GetBytes(welcome);
client.Send(data,0,data.Length,SocketFlags.None);
while(true)
{
data = new byte[1024];
recv = client.Receive(data);
if (recv == 0)
break;
listBox1.Items.Add(Encoding.ASCII.GetString(data,0,recv));
client.Send(data,0,recv,SocketFlags.None);
}
listBox1.Items.Add("Disconnected from " + clientep.ToString());
client.Close();
newsock.Close();
我知道我的这种方式肯定不行,大家指点一下。