我正在实现服务器和客户端之间的简单TCP聊天。我使用多线程,因此服务器和客户端可以同时发送和接收数据(全双工)。该程序可以工作,但如果服务器有一个控制台既可以输入发送消息,也可以显示接收消息(对于客户端来说是同一个案例),但是当从消息收到消息时我不能编辑应该发送给服务器或客户端的类型消息另一边。对于如:java网络编程TCP聊天全双工
运行(服务器控制台):
输入味精发送客户端:
你:
客户:您好服务器
客户端:再见服务器。
在这个例子中,我已经输入的消息发送到客户端,而客户端已喜说再见服务器服务器。在从客户端收到之前,我看到我输入的内容,但收到后我看不到该消息,也无法对其进行编辑。
我只能用,因为我不是使用GUI控制台好,我想用于发送和接收数据的同一控制台。
本方案的代码如下所示。
import java.net.*;
import java.io.*;
import java.util.Scanner;
public class ThreadServerSend implements Runnable {
String d;
Socket s1 = null;
Scanner sc = new Scanner(System.in);
public ThreadServerSend(Socket s)
{
s1=s;
}
public void run()
{
System.out.println(&#