java全双工_java网络编程TCP聊天全双工

本文介绍了如何使用Java实现一个基于TCP的全双工聊天程序。通过多线程,服务器和客户端可以同时进行发送和接收消息。然而,作者遇到了一个问题,即在使用控制台时,接收到的消息会覆盖未发送的消息。尽管如此,程序的核心代码和工作原理被详细地展示出来。
摘要由CSDN通过智能技术生成

我正在实现服务器和客户端之间的简单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(&#

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值