java - 将收到的消息分成两部分
问题描述
我在 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
还是有更好的方法?
解决方案
假设你的字符串就像data = "10.10.122.1 5678"
你可以做的那样
data_split = data.split(" ")
address, num = data_split[0], data_split[1]
推荐阅读
- spring - 为某些服务设置呼叫限制
- azure-java-sdk - 使用 SqlDatabase.createAsync() 创建时设置数据库属性
- c# - c#某些单词后的值正则表达式
- ms-access - 如何使用查询汇总列
- android - 从另一个应用程序读取存储在内部存储中的图像
- google-chrome - 谷歌浏览器不为 CORS 请求附加 Cookie?
- hadoop - Druid hadoop 批处理主管:无法将类型 id 'index.hadoop' 解析为 SupervisorSpec 的子项
- python - 当我们使用列表推导时,Python 会并行创建对象
- python - 使用字典中的 PNG 文件在 PySimpleGUI (Python) 中的图像小部件中显示
- javascript - 使用javascript从对象数组中获取对象列表