[英]Unable to enable Duplex mode communication using TCP in JAVA
我對JAVA和套接字編程都不熟悉,我想進行雙工模式傳輸,但是我無法將用戶輸入的消息從服務器發送到客戶端,而從客戶端到服務器的消息可以。 以下是我分別針對服務器端和客戶端的代碼。
public class connectionServer {
對於服務器:
import java.io.*;
import java.net.*;
public static void main(String[] args) {
// TODO code application logic here
String clientSentence;
String capitalizedSentence;
BufferedReader inFromClient;
DataOutputStream outToClient;
BufferedReader inFromUser;
try
{
ServerSocket welcomeSocket = new ServerSocket(6789);
while(true)
{
Socket connectionSocket = welcomeSocket.accept();
inFromClient = new BufferedReader(new InputStreamReader(connectionSocket.getInputStream()));
outToClient = new DataOutputStream(connectionSocket.getOutputStream());
clientSentence = inFromClient.readLine();
System.out.println(clientSentence);
inFromUser = new BufferedReader(new InputStreamReader(System.in));
capitalizedSentence = clientSentence.toUpperCase() + '\n';
String tempString = inFromUser.readLine();
outToClient.writeBytes(tempString);
}
}
catch(IOException e)
{
System.out.println(e);
}
}
}
對於客戶:
import java.io.*;
import java.net.*;
public class connectionClient {
public static void main(String[] args) {
// TODO code application logic here
String sentence;
String modifiedSentence;
try
{
while(true)
{
BufferedReader inFromUser = new BufferedReader(new InputStreamReader(System.in));
Socket clientSocket = new Socket("localhost", 6789);
DataOutputStream outToServer = new DataOutputStream(clientSocket.getOutputStream());
BufferedReader inFromServer = new BufferedReader(new
InputStreamReader(clientSocket.getInputStream()));
sentence = inFromUser.readLine();
outToServer.writeBytes(sentence + '\n');
modifiedSentence = inFromServer.readLine();
System.out.println("FROM SERVER: " + modifiedSentence);
}
// clientSocket.close();
}
catch(IOException e)
{
System.out.println(e);
}
}
}
在這方面的任何幫助
在您的代碼中,客戶端和服務器都在inputstream.readLine ();
上阻塞了inputstream.readLine ();
Client: You say something
Server: No you say something
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.