[英]Sending a string from C client to Java server
我正在尝试从我的c客户端向Java服务器发送一个字符串,之后服务器将一个文本文件发送到客户端。
这是发送字符串的客户端代码的一部分。
int n = write(sock_fd,"Ready",5);
if (n < 0)
printf("ERROR writing to socket\n");
recv_file(sock_fd, filename);
这是java代码的服务器部分:
InputStream is = socket.getInputStream();
InputStreamReader isr = new InputStreamReader(is);
BufferedReader br = new BufferedReader(isr);
String message = br.readLine();
System.out.println("Message received from client is " + message);
String FILENAME = "data.txt";
sendFile(socket, "data.txt");
现在我已经验证了如果我删除服务器代码中它试图从c客户端读取字符串的部分,其余代码工作正常并传输文件。 但如果不注释字符串接收代码,服务器和客户端都会等待。
如果有人为我解决这个问题,我将不胜感激。
PS我知道之前已经问过这个问题,但这对我没有帮助,所以我开始了一个新的主题。
br.readLine()
想要读一行。 客户端永远不会发送换行符,因此服务器正在等待换行符......永远!
在客户端发送的命令中添加换行符:
int n = write(sock_fd,"Ready\n", 6);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.