加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java实现Socket编程实例代码

发布时间:2020-12-14 23:50:54 所属栏目:Java 来源:网络整理
导读:今天PHP站长网 52php.cn把收集自互联网的代码分享给大家,仅供参考。 服务器端 /** * @author GUXIA */import java.io.BufferedReader;import java.io.DataInputStream;import java.io.DataOutputStream;import java.io.I

以下代码由PHP站长网 52php.cn收集自互联网

现在PHP站长网小编把它分享给大家,仅供参考

服务器端
/**
 * @author GUXIA
 */
import java.io.BufferedReader;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.net.ServerSocket;
import java.net.Socket;

public class ChatServer {
    public static void main(String[] args) {
        try {
            //创建服务器端套接字,接受来自客户端的连接请求
            ServerSocket ss=new ServerSocket(9999);
            Socket s=ss.accept();

            //获取客户端套接字的输出流
            OutputStream os=s.getOutputStream();
            DataOutputStream dos=new DataOutputStream(os);

            //获取客户端输入流
            InputStream is=s.getInputStream();
            DataInputStream dis=new DataInputStream(is);

            //创建字符输入流接受键盘输入
            InputStreamReader isr=new InputStreamReader(System.in);
            BufferedReader br=new BufferedReader(isr);

            String message;
            while(true){
                //获取客户端输入流,并打印在屏幕上,如果客户端说的是“再见”,退出
                message=dis.readUTF();
                System.out.println("客户端:"+message);
                if(message.equals("再见"))
                    break;
                //读取键盘输入并写入到输出流(客户端的输入流)
                message=br.readLine();
                dos.writeUTF(message);

            }
            dis.close();
            dos.close();
            ss.close();
            s.close();

        } catch (Exception e) {
            // TODO: handle exception
            e.printStackTrace();
        }
    }

}

客户端:
import java.io.BufferedReader;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.net.Socket;

public class ChatClient {
    public static void main(String[] args) {
        try {
            //创建客户端套接字
            Socket sc=new Socket("localhost",9999);
            //获取套接字输入流
            InputStream is=sc.getInputStream();
            DataInputStream dis=new DataInputStream(is);
            //获取套接字输出流
            OutputStream os=sc.getOutputStream();

            DataOutputStream dos=new DataOutputStream(os);

            //创建字符输入流接受键盘输入
            InputStreamReader isr=new InputStreamReader(System.in);
            BufferedReader br=new BufferedReader(isr);

            //聊天
            String message;
            while(true){
                //读取键盘输入的字符,写到客户端输出流
                message=br.readLine();
                dos.writeUTF(message);
                if(message.equals("再见"))
                    break;
                //读取服务器端的数据并打印到屏幕上
                message=dis.readUTF();
                System.out.println("服务器:"+message);
            }
            dis.close();
            dos.close();
            sc.close();

        } catch (Exception e) {
            // TODO: handle exception
            e.printStackTrace();
        }

    }

}

以上内容由PHP站长网【52php.cn】收集整理供大家参考研究

如果以上内容对您有帮助,欢迎收藏、点赞、推荐、分享。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读