解决方案 »

  1.   

    服务端侦听到有客户端连接的时候就把客户端IP和socket对象添加到客户端的列表中,这个列表可以是hashtable也可以是字典,获取客户端IP的方法为://获取客户端连接对象
    Socket client=Server.Accept(); 
    IPAddress ip = ((System.Net.IPEndPoint)client.RemoteEndPoint).Address;
    Dictionary<IPAddress, Socket> clients = new Dictionary<IPAddress, Socket>();
    clients.Add(ip, client);//查找客户端socket,发送数据
     foreach (KeyValuePair<IPAddress, Socket> key in clients)
    {
        if (key.Key.Equals("你要发送数据的客户端IP"))
        {
            key.Value.Send(buffer); //buffer就是你要发送的内容及IP地址
           break;
         }
     }上面的代码是我随手写的,差不多就是这个意思了,然后把内容及IP地址按照你自定义的规则封装成一个数据包,然后遍历客户端列表,找到IP地址对应的socket对象直接send数据就可以了
      

  2.   

    我这边现在遇到的问题是,现在我能把信息发给客户端,但是windows服务自动关闭了,看windows日志报错
    错误应用程序名称: PPHC_WindowsService.exe,版本: 1.0.0.0,时间戳: 0x53b5240a
    错误模块名称: KERNELBASE.dll,版本: 6.1.7601.18229,时间戳: 0x51fb1116
    异常代码: 0xe0434352
    错误偏移量: 0x0000c41f
      

  3.   

    先把windows服务程序放在控制台中调试,调试好了,再做成windows服务。
      

  4.   

    我用winform跟了一下,也没发现什么问题,谁能给我发一份demo。我这边对这个技术也是刚刚接触,可能有些东西不太了解。