IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> 网络编程——Tcp实现多个客户端发送数据给服务器端 -> 正文阅读

[网络协议]网络编程——Tcp实现多个客户端发送数据给服务器端

public class SocketThread implements Runnable{
    Socket s=null;
    @Override
    public void run() {
        Scanner input =new Scanner(System.in);
        BufferedReader br=null;
        BufferedWriter bw=null;
        try {
            if (s!=null){
            br=new BufferedReader(new InputStreamReader(s.getInputStream()));
            bw=new BufferedWriter(new OutputStreamWriter(s.getOutputStream()));
            //1.接受用户发送的请求信息
                String request=br.readLine();
                System.out.println(s.getInetAddress().getHostAddress()+"说:"+request);
                //2.写出给用户的响应信息
                System.out.println("请输入要给用户的响应信息");
                String response=input.next();
                bw.write(response);
                bw.newLine();
                bw.flush();
            }
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            try {
                bw.close();
                br.close();
                s.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }

    }
}



public class TcpServer {
    public static void main(String[] args) {
        ServerSocket ss=null;
        Socket s=null;
        try {
            ss=new ServerSocket(8090);
            while (true){
                System.out.println("等待接受用户的请求");
                s=ss.accept();
                SocketThread st=new SocketThread();
                st.s=s;
                Thread t=new Thread(st);
                t.start();
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}


public class TcpClient1 {
    public static void main(String[] args) {
        Scanner input =new Scanner(System.in);
        Socket s=null;
        BufferedWriter bw=null;
        BufferedReader br=null;
        try {
            //1.创建客户端
            s=new Socket("192.168.1.102", 8090);
            //2.获取输入输出流
            bw=new BufferedWriter(new OutputStreamWriter(s.getOutputStream()));
            br=new BufferedReader(new InputStreamReader(s.getInputStream()));
            //3.使用输出流给服务器请求
            System.out.println("输入要对服务器说的话");
            String reques=input.next();
            //写出请求
            bw.write(reques);
            //输出换行符,代表信息已经结束
            bw.newLine();
            bw.flush();
            //4.使用输入流获取服务器给的响应
            String response=br.readLine();
            System.out.println("服务器的响应是:"+response);
        } catch (IOException e) {
            e.printStackTrace();
        }finally{
            try {
                br.close();
                bw.close();
                s.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }
}


public class TcpClient2 {
    public static void main(String[] args) {
        Scanner input =new Scanner(System.in);
        Socket s=null;
        BufferedWriter bw=null;
        BufferedReader br=null;
        try {
            //1.创建客户端
            s=new Socket("192.168.1.102", 8090);
            //2.获取输入输出流
            bw=new BufferedWriter(new OutputStreamWriter(s.getOutputStream()));
            br=new BufferedReader(new InputStreamReader(s.getInputStream()));
            //3.使用输出流给服务器请求
            System.out.println("输入要对服务器说的话");
            String reques=input.next();
            //写出请求
            bw.write(reques);
            //输出换行符,代表信息已经结束
            bw.newLine();
            bw.flush();
            //4.使用输入流获取服务器给的响应
            String response=br.readLine();
            System.out.println("服务器的响应是:"+response);
        } catch (IOException e) {
            e.printStackTrace();
        }finally{
            try {
                br.close();
                bw.close();
                s.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }
}

  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2022-01-12 00:25:08  更:2022-01-12 00:25:40 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年10日历 -2024/10/5 9:24:13-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码