我已经为我的兄弟学校项目编写了一个使用JMF的ip to ip视频聊天应用程序。其中首先用户之一将udp作为聊天请求发送到另一系统。然后,在视频聊天开始之后,第二系统向第一系统发送回复。当没有路由器b/W两个系统(例如,两个系统都在同一个局域网上或通过usb调制解调器连接到互联网)时,一切都工作得很好。否则,当我从UDP数据包中检索发送者的ip时,它会给出发送者连接到internet的路由器的ip,因此当第二个系统回复聊天请求时,第一个系统永远不会收到回复。那么如何获取UDP发送方的本地ip呢?
提前感谢大家。
我将udp单播数据包从窗口发送到linux。
我已经编写了简单的应用程序udp客户端和srever使用boost。
我在windows上运行客户端(udp发送方),在linux上运行服务器(udp接收方)。
我的客户端正在发送udp数据包,但是linux上的udp接收器没有接收到这些数据包。但是我可以在wireshark上看到udp数据包(它运行在我的linux上)。
我测试了端口和ipaddress,它们都是正确的。
下面是运行在linux上的代码。
如果我同时在windows上运行(客户端和服务器),它可以正常工作。
using boost::asio::ip::udp;
class u
我试图在不手动添加用户IP地址的情况下进行P2P聊天。
这些脚本将通过手动指定IP地址来发送和接收UDP数据包的UTF-8消息。
# Send
# Let's say this code is executed from PC1.
import socket
PC2_IP = '192.160.4.169' # IP address is not valid, it is just for example.
UDP_PORT = 5005
MESSAGE = "Hey there!"
sock = socket.socket(socket.