我在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
由于接收到的字符串的长度是可变的,我如何提取address
和num
?我应该一一检查接收到的消息的字符以找到space
还是有更好的方法?
答案 0 :(得分:1)
假设您的字符串像data = "10.10.122.1 5678"
一样
data_split = data.split(" ")
address, num = data_split[0], data_split[1]
答案 1 :(得分:1)
您可以轻松做到:
address, num = data.split();