我要写了个使用UDP的发信息的小程序,主界面上有表示好友的按钮,点击后会跳出对话框与好友聊天,要求可以使用多个窗口,有点类似QQ,比如电脑上开了两个聊天对话框,一个与A聊天,一个与B聊天,当A发来消息时,应该对应的发送到与A聊天的窗口上。
    现在我就有下面的几个问题不明白:
    1.UDP是在跳出来的对话框里建立的,IP和端口都一样,当信息发送过来,怎样由正确的对话框接收?
    2.比如A和B机本来正常通信中,现在A机关了一下,再打开,要怎样再正常通信?就好像QQ聊天时,好友发过来信息后,看完了关掉了对话框,然后又点击该好友给好友发消息一样

解决方案 »

  1.   

    1.UDP是在跳出来的对话框里建立的,IP和端口都一样,当信息发送过来,怎样由正确的对话框接收?
      不可以使用相同的端口,这样Socket创建会失败。
      区分不同客户端用的是IP 和 端口,对于不同的端口 对应不同的客户。
    而这个端口是在服务器获得并通知相应客户端的。这样客户端之前可以实现通信(只考虑局域网情况,不然说了你会混乱。)2.比如A和B机本来正常通信中,现在A机关了一下,再打开,要怎样再正常通信?就好像QQ聊天时,好友发过来信息后,看完了关掉了对话框,然后又点击该好友给好友发消息一样UDP不保持连接,所以根据原来的IP Port发送信息仍成功。但对于对方来说,你的IP Port应该是服务器重新发送过去的。而且关机的话,信息是没办法正常接收到的。但可以通过中间机构记录在下次上线后发送。