![](/img/trans.png)
[英]Java client/server - sending multiple strings over a Socket connection
[英]Sending strings over socket
因此,我尝试使用树莓派和笔记本电脑之间的套接字通过客户端/服务器进行通信。 我已经能够在pi上使用简单的python脚本来发送基本字符串,以了解其工作原理的基本知识。 现在,我有了一些更高级的知识,并开始将OpenCV与USB摄像头一起使用,以制作一个可以检测摄像头框架中运动的安全系统。 我有带安全系统的python脚本与服务器连接,并且应该在便携式计算机的控制台中实时打印出“已占用”或“未占用”(最终应该打开一个弹出菜单,警告该动作是检测到),但是一旦我关闭与Pi的连接,它只会打印出很长的字符串“ Occupied”或“ Unoccupied”。 为什么不实时打印? 这是笔记本电脑上的Java代码,很遗憾,我的Pi目前正在学校中,我无法访问python代码,但明天将发布它。
public class PyComms {
public static void main(String[] args) {
try{
ServerSocket server = new ServerSocket(4444);
System.out.println("Waiting for client on port 4444");
while(true){
Socket connected = server.accept();
System.out.println("CONNECTED WITH CLIENT");
BufferedReader inFromPi = new BufferedReader(new InputStreamReader(connected.getInputStream()));
while(true){
String fromclient = inFromPi.readLine();
if(fromclient.equalsIgnoreCase("Occupied")){
System.out.println("Client responded with "+fromclient + "\n");
}
else{
System.out.println("Client responded with "+fromclient + "\n");
connected.close();
}
}
}
}
catch(Exception e){
System.out.println(e);
}
}
}
答案就是@jtahlborn所说的。 我要做的就是在python代码中发送完每条消息后,在一行中添加一行。 我通过执行类似于client_socket.send(text+'\\n')
来实现此目的
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.