我想请教个问题,我现在写了个聊天程序,使用udpSocket发送,目前只能在局域网中互相通信(用内网IP通信),我现在想跟外网通信,应该怎么做啊?步骤是什么?
我跟我朋友测试了,他能发送消息给我,因为我的电脑做了端口映射,他发消息到我的路由器IP上我就能收到,但是我不能发送消息给他,我这边获取到对方的IP地址是对方的路由器IP,发送消息则发送到对方的路由器IP上,对方电脑收不到,请问有什么办法在对方不做端口映射的前提下发送消息到对方电脑(类似QQ)?
另外还想问个问题:我想把自己的电脑做为服务器发布,我在家用端口映射发布了一个网站,我让我朋友帮我测试,为什么只有一个人能访问而其他人都不能访问呢?
我做了映射之后,别人还是ping不通我的IP,这是什么原因呢?
有一个人能访问就说明端口映射成功了,但是为什么其他人不能访问呢?
我的程序都是用UDP进行通信的,改成TCP有点困难,有别的办法吗?还有我想问一下目前的聊天程序好像用的都是UDP吧?比如说QQ是用的UDP还是TCP啊?
我们单位是端口和协议都限制了,只能是HTTP的80端口可以用。请问HTTP和TCP的socket通信是不是一回事呢?我改成TCP的socket是不是就可以了?
æç°å¨æä¸å°æå¡å¨ï¼ææè天ç¨åºçæå¡å¨ç«¯æ¾å¨æçæå¡å¨ä¸ï¼å¯¹æ¹çµèå¯ä»¥è®¿é®ï¼ä½æ¯æå¡å¨è·åå°å¯¹æ¹çµèçIPå端å£ï¼è¿ä¸ªIPæ¯ä¸æ¯ä¹æ¯å¯¹æ¹çè·¯ç±å¨IPå¢ï¼å¦ææ¯è¿æ ·çè¯é£ä¹æå¡å¨å对æ¹åæ¶æ¯ä¸ä¹æ¯åå°å¯¹æ¹çè·¯ç±å¨ä¸åï¼æä¹åéå°å¯¹æ¹ä¸»æºä¸å¢ï¼
追ç对æ¹éè¿è·¯ç±å¨ ä¸ä½ çæå¡å¨å»ºç«è¿æ¥ï¼è¿æ¯å¯¹æ¹çµèç端å£ï¼a)ä¸è·¯ç±å¨ç¸åºç«¯å£(b)æäºæ å°å ³ç³»ï¼ æ¶æ¯åå°è·¯ç±å¨çb端å£ï¼å°±è½æ¾å°å¯¹æ¹çµè
追é®æè¿ä¸¤å¤©ç 究äºä¸ä¸NATç©¿è¶åP2Pææ´çææ¯ï¼å¯ä»¥è§£å³ä¸¤ä¸ªå¨ä¸åè·¯ç±å¨ä¸çå ç½ä¸»æºé´çç¸äºéä¿¡ï¼ä½æ¯å¿ é¡»è¦æä¸ä¸ªå ¬ç½çæå¡å¨ä½ä¸ºä¸é´è¿æ¥è ï¼ç°å¨åéå°ä¸ªæ°é®é¢ï¼æ们åä½çæå¡å¨åªå¼æ¾äºHTTP端å£ï¼æçç¨åºæ¯ç¨UDPä½ç¨éä¿¡çï¼è¯·é®æä»ä¹åæ³å¯ä»¥è§£å³è¿ä¸ªé®é¢ï¼è¿æï¼NATç©¿è¶æ¯ä¸æ¯æ¯ä¸ªè·¯ç±å¨é½èªå¸¦çåè½ï¼ä¸éè¦æçç¨åºåä»ä¹æ¹å¨å§ï¼
可以参考
http://blog.csdn.net/andy511823558/article/details/7755377