TCP 协议 的 C/S程序

需要使用到两个类 , 来编写 TCP 协议的 CS 程序 .
1.ServerSocket 搭建服务器
2.Socket 搭建客户端
两方使用 socket( 套接字 , 通信端点 ) 进行交流

ServerSocket

用于创建服务器 . 创建完毕后 , 会绑定一个端口号 .
然后此服务器可以等待客户端连接 .
每连接一个客户端 , 服务器就会得到一个新的 Socket 对象 , 用于跟客户端进行通信 .

Socket

是两台计算机之间通信的端点 , 是网络驱动提供给应用程序编程的一种接口 一套标准 , 一种机制 .

常用构造方法:

ServerSocket(int port); ****
创建一个基于 TCP/IP 协议的服务器 , 并绑定指定的端口号 .
注意 : 参数 port 的范围是 : 0-65535 ( 建议 1025-65535)
Socket(String ip,int port) ****
创建一个套接字 , 并连接指定 ip 和端口号的 服务器 .
参数 1. 服务器的 ip 地址
参数 2. 服务器软件的端口号 ..

常用方法:

搭建服务器

public static void main(String[] args) throws IOException {
        //搭建服务器
        ServerSocket server = new ServerSocket(55565);
        System.out.println("服务器启动完毕");
        //等待客户端连接

        Socket socket=server.accept();
        System.out.println("一个客户端连接了");

        OutputStream os = socket.getOutputStream();
        PrintStream ps=new PrintStream(os);
        ps.println("欢迎连接");


        InputStream io = socket.getInputStream();
        BufferedReader buf = new BufferedReader(new InputStreamReader(io));
        String text = buf.readLine();
        System.out.println("服务器接到消息:"+text);

        System.out.println("程序运行结束");
    }

搭建客户端

public static void main(String[] args) throws IOException {
        //搭建客户端
        Socket socket = new Socket("127.0.0.1",55565);

        InputStream in = socket.getInputStream();
        BufferedReader bu = new BufferedReader(new InputStreamReader(in));
        String text = bu.readLine();
        System.out.println("客户端接到消息:"+text);

        OutputStream ou = socket.getOutputStream();
        PrintStream ps=new PrintStream(ou);
        ps.println("服务器你好!");
    }

客户端中加入多线程

while (true){
            Socket socket=server.accept();
            new Thread(){
                @Override
                public void run() {
                    try {
                        InputStream is = socket.getInputStream();
                        OutputStream op = socket.getOutputStream();
                    } catch (IOException e) {
                        e.printStackTrace();
                    }
                }
            }.start();
            System.out.println("一个客户端连接了");
        }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值