Implementation code of the two-way synchronous chat applet [ByJavaOnLinux]

Source: Internet
Author: User
This article introduces the two-way synchronous chat applet [ByJavaOnLinux] to implement code a simple web chat tool, java implementation, two-way synchronous transmission of information, the function is being added
Change the ip address in the LAN. you only need to change the localhost ip address of the client to the ip address of another pc.

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();                }        }}

The preceding section describes the code of the two-way synchronous chat applet [ByJavaOnLinux]. For more information, see other related articles in the first PHP community!

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.