我想做一个聊天程序。
别人说在服务端和客户端进行连接时要做一下几步:
做端口映射,把外网ip告诉服务端,它就能connect到你。那么端口映射是必不可少的吗?很难吗?哪位高手给个具体代码来可以吗?

解决方案 »

  1.   

    参看一下简单的tcp,udp代码吧.
    http://blog.csdn.net/sjdev/archive/2007/11/25/1901841.aspx
      

  2.   

    客户端可以connect服务端 之后就直接通信了 不再需要端口映射 除非外网的ip要主动联你 你就要在路由器上配置端口映射 如果一般路由器没提供接口不好编程可以拿台PC替代 就可以改配置文件或者用提供的api来做这个了
      

  3.   

    right,外网主动连内网ip需要做端口映射,可参看p2p
      

  4.   

    跟端口映射不是一回事,要明白网络原理
    你主动连接对方,那么对方的IP一定要是公网的IP(除非通过穿透实现,什么是公网IP不要我说了吧)
    而你通过端口映射来实现那不是很费解么?端口映射是什么?你可以搜索下
    路由器端口映射,这个是可以通过代码来实现端口映射过程的,但不是所有路由器
    都开放这个功能,管理员可以禁用它,就是所说的UPNP
    如果是多级路由你端口映射也不现实,所以就有了打洞
    像你这种聊天程序信息可以通过服务器转发,或者打洞来实现通信