[英]how do I terminate data sent by java socket to python?
服务器端python:
import socket
import sys
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind(('', 18404))
s.listen(1)
conn, addr = s.accept()
print 'Connected with ' + addr[0] + ':' + str(addr[1])
print conn.recv(100)
s.close()
客户端Java:
Socket client=new Socket("localhost",18404);
PrintWriter out = new PrintWriter(client.getOutputStream(),true);
out.print("hi1");
out.print("hi2");
out.close();
我从print conn.recv(100)获得的输出是“ hi1hi2”。我的问题是,如何终止第一个out.print(“ hi1”)发送的输出? 因此它仅接收“ hi1”。 我尝试了out.print("hi1\\r");
当我这样做时,它只收到hi2。
实际上,毫无疑问,它接收到整个字符串'hi1\\rhi2'
。 您将其print
出来,只看到了hi2
部分,因为回车使后3个字符(在屏幕上)覆盖了前3个字符。
只需添加一个拆分
a, b = conn.recv(100).split('\r')
你应该没事的
这对我有用:
out.print("hi1\n");
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.