首页 > 解决方案 > 将收到的消息分成两部分

问题描述

我在 java 中有一个服务器,它应该在一条消息中将一个 IP 地址和一个数字传输给客户端。这是转移代码:

int indexMin;
int num;
.
.
.
String found = String.format("10.0.0.%1$d %2$d", indexMin, num);
byte[] foundByte = found.getBytes();

indexMin 和 num 的长度是可变的(它们可能有 1 或 2 或 ... 位)。

我在客户端使用 Python。我希望我的客户接收此字符串并区分地址(例如 10.0.0.5)和以空格分隔的第二个值。这是我在客户端上使用的代码:

def read_udp(s):
    data,addr = s.recvfrom(1024)
    print("received message:", data)
    .
    .
    .
    address = #adress part
    num = #2nd number part

由于接收到的字符串的长度是可变的,我如何提取addressnum?我应该一一检查收到的消息的字符以查找space还是有更好的方法?

标签: javapythonstring

解决方案


假设你的字符串就像data = "10.10.122.1 5678"你可以做的那样

data_split = data.split(" ")
address, num = data_split[0], data_split[1]

推荐阅读