我正在使用gopacket/layers api从数据包中提取upd数据,然后再通过另一个udp流发送数据,我不确定我这样做是否正确,是否也出现了一些错误,如果有人能指出正确的方向,这将是我的代码。
conn, err := net.Dial("udp", 1.1.1.1)
udp, _ := updpLayer.(*layers.UDP)
/*now if i send it like this*/
conn.Write(udp)
/*i get the errors: cannot use udp (type *layers.UDP) as type []byte i
This is the server side
import socket
UDP_IP = 'localhost'
UDP_PORT = 6000
sock = socket.socket(socket.AF_INET,socket.SOCK_DGRAM) # UDP
sock.setsockopt(socket.SOL_SOCKET,socket.SO_REUSEADDR,1)
sock.bind((UDP_IP, UDP_PORT))
while True:
data, addr = sock.recvfrom(1024)
if data:
so
我将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