做了个P2P聊天程序,想实现外网聊天,使用了UDP协议来进行直接传输,
可是聊天窗体只能开一个,怎么能动态的设置端口,让窗体能多个开,就像QQ那样,同时可以和多个人聊天,(不是群),
请大侠帮忙,困扰了一天了。。

解决方案 »

  1.   

    可以设置一个结构体,例如长度20,即最大允许20个同时连接。里面存放端口号;
    如;
    int iPort;
    bool bFlag;这样当一个端口正在使用的时候,把其标志设置为true;关闭的时候设为false;
    当新开启一个端口的时候,遍历这个结构体,找一个闲置的端口使用。
      

  2.   

    我也没做过。仅从理论上支持一下楼主。创建一个正在使用端口列表,每次打开新端口时,把此端口号添加到这个ArrayList中,用完了就从中删除。就可以知道哪个端口号正在被使用了。