我最近做了一个网络通信的程序(用的是udp协议),在局域网内通信没有问题,但是公司要求要能在外网上通信。在下不才,对网络编程不是很了解,不明白怎么改进才能实现在外网上通信,望高手们指点一二。感激不尽!!!
在线等

解决方案 »

  1.   

    现在不明白的是用什么标识一台机子?发送信息的时候用哪个ip地址?外网ip?内网ip?  迷茫……
      

  2.   

    1.
    现在不明白的是用什么标识一台机子?
    -------------------------
    IP2.
    发送信息的时候用哪个ip地址?外网ip?内网ip?  
    ------------------------
    客戶端連接服務器時外網IP,發送消息使用的是通過Socket獲取到對方的IP地址。
      

  3.   

    1. 你的应用应该是C/S结构,这里服务器一定要有固定IP或域名。
    2. 每个Client连接Server时会开一个端口,你应该保持client端口(好像是代理服务器的IP)始终为打开状态。
    3. Server上建立IP及端口与每个Client的映射关系然后共享这个列表。另外有一个最简单的仿B/S方式(但低效的方法)。
    每个client不断向Server发请求看有没有自己的消息或者向另一个client发消息。
      

  4.   

    udp中不是有个napt的问题嘛,你在进行外网通讯的时候内网地址会自动转换成外网地址加一个port,建议看看udp打洞
      

  5.   

    难道是内网和外网通信?
    那要看服务器是在外网还是内网.
    如果服务器在内网,这个就涉及到NAT穿透了.是个很麻烦的事情.呵呵.
    不过如果服务器的路由你能控制的话,让路由开个端口映射好了.
      

  6.   

    用的是udp的组播做的。不知道怎样修改配置才能实现外网通信。
      

  7.   

    用的是udp的组播做的。不知道怎样修改配置才能实现外网通信。