本帖最后由 yb917684105s 于 2011-05-18 07:53:20 编辑

解决方案 »

  1.   

    你的意思是 发送广播  你去看下UDP协议 一般的书上都会讲 如何发送广播
               private IPEndPoint se_ipep = null;
                se_ipep = new IPEndPoint(IPAddress.Broadcast, 11008); ;
                byte[] se = Encoding.Unicode.GetBytes("server broadcast:" + hostname);
                try { udpclient.Send(se, se.Length, se_ipep); }
                catch (Exception ex)
                {
                    hashclient.Add("127.0.0.1", hostname);
                }
    这是我程序里面发的广播代码 看不懂的话 去MSDN 查查每个类是干嘛用的 如何使用 ~!
      

  2.   

    你的问题在于变量Client始终记载着最后一个接入的客户端。!!!
    _sessionTable.Add(Client.RemoteEndPoint, null);
    修改:
    _sessionTable.Add(Client.Hanle,Client);=====================================================
    foreach (DictionaryEntry de in _sessionTable)
    {
        EndPoint temp = (EndPoint)de.Key;
        Client.SendTo(sendData, temp);
    }
    修改:
    foreach (DictionaryEntry de in _sessionTable)
    {
        Socket temp = (Socket)de.Value;
        temp.Send(sendData);
    }