多个TCPClient如何区分?? 急救 Socket s = listener.AcceptSocket();然后可以将这们Socket 转交给线程处理,或都者在队列中来处理。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 是啊 ,但是我现在想要实现 向某一个socket 发送数据 ,如何处理呢 ? 帖一点代码吧,我原来做的一个通讯项目中的,缩略了些与些无关的内容:while(true) { try { Socket s = listener.AcceptSocket(); clientsocket = s; clientservice = new Thread(new ThreadStart(ServiceClient)); clientservice.Start(); } catch(Exception e) { break; } } private void ServiceClient() { Socket client = clientsocket; string clientcommand = ""; while (keepalive) { Byte[] buffer = new Byte[2048]; try { datalen = client.Receive(buffer); } catch { } clientcommand += System.Text.Encoding.ASCII.GetString(buffer,0,datalen); if (.....) { SendToClient(client ,ref sendBuffer); } } private void SendToClient(Client clt, string returnString) { byte[] buffer = new byte[20]; try { buffer = System.Text.Encoding.ASCII.GetBytes(returnString.ToCharArray()); client .Send(buffer,buffer.Length,0); } catch(Exception) { } } 每一个连接对应一个连接,要发送数据之类的处理都在特定的处理里做,都是对应着特定的Socket啊。 使用哈希表。服务器每收到一个客户端连接,就把这个连接存入哈希表。客户端socket对象做值,socket对象的ip和port组合做键,或者你找个别的什么唯一标识做键。这样就可以随时从哈希表中根据键取出值,用这个socket对象值来send数据了。 顶一下,我的方法是Socket和其他必要信息作为一个结构体放在List<>中,需要的时候循环。但是效率不高,正在探索新方法 将楼上的List<>改成Direcotry<>就好了! 求正则表达式的用法! win7下vs200开发winform程序,布局和控件尺寸老变形如何避免和解决 sql数据库连接里服务器名为什么不能用点 获取字符串 生成无重复数字的三位数 巨分:一道 计算机COM接口间的文件传输 编程实现 面试题,非高手勿入! 初学者问题 .net里为什么没有error? c#中如何用odbc连接vfp 请大家看一看,为什么request session报错!!!! 请求高手帮助,关于2005中部署水晶报表到windows2003中??? 关于C#调用webservice的问题
{
try
{
Socket s = listener.AcceptSocket();
clientsocket = s;
clientservice = new Thread(new ThreadStart(ServiceClient));
clientservice.Start();
}
catch(Exception e)
{
break;
}
} private void ServiceClient()
{
Socket client = clientsocket;
string clientcommand = ""; while (keepalive)
{
Byte[] buffer = new Byte[2048];
try
{
datalen = client.Receive(buffer);
}
catch
{
} clientcommand += System.Text.Encoding.ASCII.GetString(buffer,0,datalen);
if (.....)
{
SendToClient(client ,ref sendBuffer);
}
}
private void SendToClient(Client clt, string returnString)
{
byte[] buffer = new byte[20];
try
{
buffer = System.Text.Encoding.ASCII.GetBytes(returnString.ToCharArray());
client .Send(buffer,buffer.Length,0);
}
catch(Exception)
{ }
}