问题描述
我正在尝试创建一个简单的客户端/服务器程序,该程序将客户端带入服务器并将其返回给用户,然后向用户查询另一个输入。问题是,由于某种原因,程序在第一次输入后一直保持等待状态,甚至没有将输入发送到服务器。任何帮助将不胜感激。
服务器代码
inner: 65532
outer: 22
客户代码
import java.util.*;
import java.io.*;
import java.net.*;
public class Server {
public static final String ENDLINE = "\r\n";
public static void main(String[] args) throws Exception{
try(ServerSocket serverSocket = new ServerSocket(2000)){
System.out.println("Waiting for connection...");
Socket clientConnection = serverSocket.accept();
System.out.println("connection accepted from: "+ clientConnection.getInetAddress().getHostAddress());
OutputStream clientOutputStream = clientConnection.getOutputStream();
InputStream clientInputStream = clientConnection.getInputStream();
String msg = String.format("Hello: %s tell me something: ",clientConnection.getInetAddress().getHostAddress());
clientOutputStream.write(msg.getBytes());
while(true){
StringBuilder clientMessage = new StringBuilder();
int c = clientInputStream.read();
while(c != -1){
clientMessage.append((char)c);
c = clientInputStream.read();
}
String clientMessageString = String.valueOf(clientMessage);
String returnMsg = String.format("Okay got your message: %s,anything else? ",clientMessageString);
clientOutputStream.flush();
if (clientMessageString.equals("quit")) break;
}clientConnection.close();
}catch(IOException e){ e.printStackTrace(); }
}
}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)