手揣网教程/应用软件/内容

双向同步聊天小程序[ByJavaOnLinux]完成代码

应用软件2024-05-21 阅读
[摘要]一个很简单的网络聊天小工具,java实现,双向同步发送信息,功能增加中局域网内ip请自行更改,只要变更client端的localhost ip为另一台pc的ip就行import java.io.*;...
一个很简单的网络聊天小工具,java实现,双向同步发送信息,功能增加中
局域网内ip请自行更改,只要变更client端的localhost ip为另一台pc的ip就行

import java.io.*;
import java.net.Socket;
import java.net.ServerSocket;
import java.net.SocketException;
public class TestServer {
        public static void main(String[] args) {
                try {
                        //open the communication port for messenge-transfer
                        //server socket id:8888
                        ServerSocket s = new ServerSocket(8888);
                        //create socket instance and set it be waiting state to accept data
                        Socket s1 = s.accept();
                        //original data stream
                        InputStream is = s1.getInputStream();
                        OutputStream os = s1.getOutputStream();
                        
                        DataOutputStream dos = new DataOutputStream(os);
                        DataInputStream dis = new DataInputStream(is);
                        System.out.println("Server started!");
                        new MyServerReader(dis).start();
                        new MyServerWriter(dos).start();
                } catch (IOException ioe) {
                        ioe.printStackTrace();
                }
        }
}
class MyServerReader extends Thread {
        private DataInputStream dis;
        public MyServerReader(DataInputStream dis) {
                this.dis = dis;
        }
        public void run() {
                String info;
                try {
                        while (true) {
                                info = dis.readUTF();
                                System.out.println("Ta said:" + info);
                                if (info.equals("bye")      info.equals("88")) {
                                        System.out.println("Ta offline, connection's out!");
                                        System.exit(0);
                                }
                        }
                } catch (IOException e) {
                        e.printStackTrace();
                }
        }
}
class MyServerWriter extends Thread {
        private DataOutputStream dos;
        public MyServerWriter (DataOutputStream dos) {
                this.dos = dos;
        }
        public void run() {
                String info;
                InputStreamReader isr = new InputStreamReader(System.in);
                BufferedReader br = new BufferedReader(isr);
                try {
                        while (true) {
                                info = br.readLine();
                                dos.writeUTF(info);
                                if (info.equals("bye")      info.equals("88")) {
                                        System.out.println("Local machine Offline, application exit!");
                                        System.exit(0);
                                }
                        }
                } catch (IOException e) {
                        e.printStackTrace();
                }
        }
}

client端的:

import java.io.*;
import java.net.Socket;
import java.net.SocketException;
public class TestClient {
        public static void main (String[] args) {
                try {
                        Socket s1 = new Socket("127.0.0.1", 8888);
                        InputStream is = s1.getInputStream();
                        OutputStream os = s1.getOutputStream();
                        DataInputStream dis = new DataInputStream(is);
                        DataOutputStream dos = new DataOutputStream(os);
                        new MyClientReader(dis).start();
                        new MyClientWriter(dos).start();
                } catch (IOException e) {
                        e.printStackTrace();
                }
        }
}
class MyClientReader extends Thread {
        private DataInputStream dis;
        public MyClientReader(DataInputStream dis) {
                this.dis = dis;
        }
        public void run() {
                String info;
                try {
                        while (true) {
                                info = dis.readUTF();
                                System.out.println("Ta said:" + info);
                                if (info.equals("bye")      info.equals("88")) {
                                        System.out.println("Ta offline, connection's out!");
                                        System.exit(0);
                                }
                        }
                } catch (IOException e) {
                        e.printStackTrace();
                }
        }
}
class MyClientWriter extends Thread {
        private DataOutputStream dos;
        public MyClientWriter (DataOutputStream dos) {
                this.dos = dos;
        }
        public void run() {
                String info;
                InputStreamReader isr = new InputStreamReader(System.in);
                BufferedReader br = new BufferedReader(isr);
                try {
                        while (true) {
                                info = br.readLine();
                                dos.writeUTF(info);
                                if (info.equals("bye")      info.equals("88")) {
                                        System.out.println("Local machine Offline, application exit!");
                                        System.exit(0);
                                }
                        }
                } catch (IOException e) {
                        e.printStackTrace();
                }
        }
}

以上就是双向同步聊天小程序[ByJavaOnLinux]实现代码的详细内容,更多请关注php中文网其它相关文章!

  • 微信
  • 分享

  • 小程序是一种不需要下载安装即可使用的应用,它实现了应用“触手可及”的梦想,用户扫一扫或者搜一下即可打开应用。

    ……

    标签:双向同步聊天小程序[ByJavaOnLinux]完成代码
    相关阅读