大家好!Python服务器:
import socket, os
s = socket.socket()
s.bind(('0.0.0.0', 500))
s.listen(5)
while True:
c, addr = s.accept()
data = c.recv(1024)
print(str(data))
Java客户端:
String data = "Test";
try (Socket socket = new Socket("localhost", 5000)) {
try (DataOutputStream os = new DataOutputStream(socket.getOutputStream())) {
while(true){
os.write(data.getBytes("utf-8"), 0, data.length());
}
}
}
对于非常大的数据包流,出现粘合(服务器显示“TestTe”或TestTestTest)如何解决?
https://ru.wikipedia.org/wiki/UDP
因此,您必须将其序列号与每个字符一起从客户端发送,并在服务器上添加一个代码以检查数字是否连续无间隙,一个重新请求丢失数据包的代码,一个代码忽略重复项和代码以对接收到的数据进行排序。或者切换到使用 TCP 协议,它会为您实现所有这些。