java客户端python服务器发送udp数据

时间:2013-12-10 10:06:53

标签: java python udp client-server bytearray

我正在尝试在java中创建一个使用UDP将数据发送到python服务器的客户端,但是我在发送数据时遇到了问题。到目前为止我看过或读过的每个例子都是这样的:

byte[] buf = new byte[256];
InetAddress address = InetAddress.getLocalHost();
DatagramPacket packet = new DatagramPacket(buf, buf.length, ip,port);
System.out.println("Sending...");
socket.send(packet);

我无法弄清楚我怎样才能发送我的数据,这些数据可以是int或char或string类型,甚至是数组?我的意思是我如何将这些更改为字节,将其放入buf并发送它们。 那么它可以简单地在python客户端上解码,如下所示:

data,addr = self.sock.recvfrom(1024)
data = data.decode()

编辑:

我已经想出如何通过执行以下操作将字符串转换为字节:

buf = "hello".getBytes();

但仍然没有关于整数和数组的线索..

1 个答案:

答案 0 :(得分:0)

您可以像这样创建基于JSON的“protocole”:

{“items”:[{“type”:'string“,”value“:”test“},{”type“:”int“,”value“:3}]}

并使用https://code.google.com/p/json-simple/wiki/EncodingExamples#Example_1-1_-_Encode_a_JSON_object对其进行编码。