这是我的服务器应用程序
public static void main(String[] args) throws IOException, ISOException {
ServerSocket serverSocket = null;
Socket socket = null;
try {
serverSocket = new ServerSocket(PORT);
System.out.println("Server siap menerima koneksi pada port ["+PORT+"]");
} catch (IOException e) {
e.printStackTrace();
}
while (true) {
try {
socket = serverSocket.accept();
InputStreamReader inStreamReader = new InputStreamReader(socket.getInputStream());
PrintWriter sendMsg = new PrintWriter(socket.getOutputStream());
int data;
StringBuffer sb = new StringBuffer();
int counter = 0;
int lengthOfMsg = 4;
while((data = inStreamReader.read()) != 0) {
counter++;
sb.append((char) data);
if (counter == 4) lengthOfMsg += Integer.valueOf(sb.toString());
if (lengthOfMsg == sb.toString().length()) {
System.out.println("Rec. Msg ["+sb.toString()+"] len ["+sb.toString().length()+"]");
processingMsg(sb.toString(), sendMsg);
}
}
} catch (IOException e) {
System.out.println("I/O error: " + e);
}
}
}
问题是如果客户端不关闭连接,服务器应用程序将无法接收来自另一个客户端的另一个请求
如果我确实从服务器端关闭连接,它将无法与客户端的应用程序一起使用。
重点是在此服务器或客户端应用程序中无法关闭连接
我想要的是:有什么办法让服务器可以继续接收来自客户端的一些请求,即使另一个请求尚未完成。所以我的服务器应用程序可以同时接收多个请求,而无需关闭任何连接。
请帮我,
注意:客户的应用程序来自我的第三方供应商,所以我必须遵守他们的规则
慕田峪4524236
相关分类