发布网友 发布时间:2022-04-21 17:34
共2个回答
热心网友 时间:2023-08-24 13:19
首先,直接输入IP和端口连接*用户是不太可能的。除非对方是IP的*用户,如果对方存在NAT,那么,就算你知道它NAT的IP,但是端口号是NAT自动分配的,你就不知道了。
这种情况下,一般都需要服务器了,在公网上运行一个服务器端程序。客户端可以和服务器通讯,让服务器来获取到客户端对应的*IP和端口,但是就算用这种方式可以通过服务器得到对方的IP和端口,也是不可以直接建立通讯的,这里面还涉及到NAT的类型,其中主要分为对称型和非对称型,如果想要进行P2P通讯,那你还得进行NAT穿透。
不过如果你只是需要发些聊天文本消息的话,建议你还是使用服务器中转好了,毕竟文本消息的数据量不大,用户量不是很大的情况下,使用服务器中转还是比较方便快捷的。P2P直接通讯,还是在需要大量数据传输的时候再考虑吧,比如传文件,语音视频聊天等。
热心网友 时间:2023-08-24 13:19
不知道你采用的是固定端口开始随机端口, 如果是固定端口的话让对方在防火墙/路由上做一个端口影射把自己机器的端口暴露于公网也可以