温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

如何使用Java实现基于Tcp的基础聊天功能

发布时间:2021-09-28 11:48:47 来源:亿速云 阅读:127 作者:小新 栏目:编程语言

这篇文章给大家分享的是有关如何使用Java实现基于Tcp的基础聊天功能的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

具体如下:

最基础的聊天,用户端和服务器端每次说一句,而且严格规定了先后到顺序。

服务器端:

import java.io.*;import java.net.*;public class ChatServer {    public static void main(String[] args) {        ServerSocket server = null;        try {            server = new ServerSocket(12138);        } catch (IOException e) {            System.out.println("error" + e);        }//        server = null;        try {            Socket ac = null;//            ac = new Socket();//            ac = null;            ac = server.accept();            BufferedReader is = null;            is = new BufferedReader(new InputStreamReader(ac.getInputStream()));            BufferedReader dis = new BufferedReader(new InputStreamReader(System.in));            PrintWriter os = new PrintWriter(ac.getOutputStream());            String line = null;            System.out.println("clinent " + is.readLine());            line = dis.readLine();            while(!line.equals("bey")) {                os.println(line);                os.flush();                System.out.println("server " + line);                System.out.println("client " + is.readLine());                line = dis.readLine();            }            os.close();            dis.close();            is.close();            ac.close();        } catch (Exception e) {            System.out.println("error" + e);        }    }}

用户端:

public class ChatClient {    public static void main(String[] args) {        Socket client = null;        try {            client = new Socket("127.0.0.1",12138);            BufferedReader dis = new BufferedReader(new InputStreamReader(System.in));            BufferedReader is = new BufferedReader(new InputStreamReader(client.getInputStream()));            PrintWriter os = new PrintWriter(client.getOutputStream());            String line = dis.readLine();            while(!line.equals("bey")) {                os.println(line);                os.flush();                System.out.println("client " + line);                System.out.println("server " + is.readLine());                line = is.readLine();            }            os.close();            dis.close();            is.close();            client.close();        } catch (Exception e) {            System.out.println("error" + e);        }    }}

无论是用户端还是服务器端都用了BufferedReader用来写入一些了连续的字符串,用PrintWriter进行输出。

注:BufferedWriter接收到的参数需要是字符类的数据流,所以要建一个inputStreamReader,而InputStreamReader的参数是数据流即可。

上面规定了写入的顺序是客户端先写,然后是服务器端;

注意要在循环结束的时候close个个数据流和端口。

感谢各位的阅读!关于“如何使用Java实现基于Tcp的基础聊天功能”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI