有没有debug一下看看是到哪里出错的呀

解决方案 »

  1.   

    回复人: sexfreebird(自由鸟) ( ) 信誉:100  2004-11-02 17:45:00  得分: 0  
     
     
       有没有debug一下看看是到哪里出错的呀
      
     
    不是出错。是
    listBox1.Items.Add(System.Text.Encoding.BigEndianUnicode.GetString(data,0,byteRec));
    什么都没输出。好像是Socket.select之后的代码都没有执行。
      

  2.   

    ArrayList tempList = ClientList; worong 
    Arraylist tempList=new arraylist(ClientList)
      

  3.   

    while(ClientList.Count < 0)
    改为
    while(ClientList.Count 〉 0)
      

  4.   

    你的ArrayList 中存的socket ,
    for(int i=0;i<tempList.Count;i++)
    {
    Byte[] data = new byte[1024];
    int byteRec;
    byteRec = ((Socket)tempList[i]).Receive(data);
    listBox1.Items.Add(System.Text.Encoding.BigEndianUnicode.GetString(data,0,byteRec));
    你发送的数据并不一定是哪一个socket的,如果他不是tempList中的第一个,调用((Socket)tempList[i]).Receive(data),仍旧会阻塞,因此出错难免
      

  5.   

    while(ClientList.Count < 0)
    确实是写错了。
    换成异步消息加线程池,以经自已解决了。结贴