zoukankan      html  css  js  c++  java
  • 简版的TCP协议聊天

    客户端

    ```

     1 package com.tcp2;
     2 
     3 import java.io.BufferedReader;
     4 import java.io.BufferedWriter;
     5 import java.io.InputStreamReader;
     6 import java.io.OutputStream;
     7 import java.io.OutputStreamWriter;
     8 import java.net.InetAddress;
     9 import java.net.Socket;
    10 
    11 /**
    12 
    13 1.客户端
    14 */
    15 public class 客户端 {
    16 public static void main(String[] args) {
    17 //客户端对象
    18 try(Socket client=new Socket(InetAddress.getByName("localhost"), 9000);
    19 //用户输入
    20 BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
    21 //向服务器端发送信息,输出流
    22 BufferedWriter bw=new BufferedWriter(new OutputStreamWriter(client.getOutputStream()));
    23 //读取从服务器写入的内容 输入流
    24 BufferedReader bre=new BufferedReader(new InputStreamReader(client.getInputStream()));
    25 ){
    26 System.out.println("客户端要发送到服务器端的内容为:");
    27 //通过用户输入信息
    28 String msg = br.readLine();
    29 //将用户输入的信息发送到服务器端
    30 bw.write(msg);
    31 //换行的标识
    32 bw.newLine();
    33 //刷新缓冲区
    34 bw.flush();
    35 //等待接收
    36 String msgServer = bre.readLine();
    37 System.out.println("从服务器获取的信息:"+msgServer);
    38 }catch (Exception e) {
    39 e.printStackTrace();
    40 }
    41 }
    42 }
    43 
    44 ```

    服务器端:

    ```

     1 package com.tcp2;
     2 
     3 import java.io.BufferedReader;
     4 import java.io.BufferedWriter;
     5 import java.io.InputStreamReader;
     6 import java.io.OutputStreamWriter;
     7 import java.net.ServerSocket;
     8 import java.net.Socket;
     9 
    10 /**
    11 
    12 1.服务器端
    13 */
    14 public class 服务器端 {
    15 public static void main(String[] args) {
    16 //服务器
    17 try(ServerSocket ss=new ServerSocket(9000);){
    18 System.out.println("等待客户端的连接。。。。。");
    19 //连接每一个客户端
    20 try(Socket client=ss.accept();
    21 //读取客户端发送的信息
    22 BufferedReader br=new BufferedReader(new InputStreamReader(client.getInputStream()));
    23 //获取服务器端用户输入的信息
    24 BufferedReader bin=new BufferedReader(new InputStreamReader(System.in));
    25 // 向客户端写入信息
    26 BufferedWriter bw=new BufferedWriter(new OutputStreamWriter(client.getOutputStream()));
    27 ){
    28 //读取客户端发来的信息
    29 String clientMsg = br.readLine();
    30 System.out.println("从客户端发来的消息为:"+clientMsg);
    31 System.out.println("服务器端要发送到客户端的内容为:");
    32 //服务器端用户输入信息
    33 String input = bin.readLine();
    34 //向客户端写入
    35 bw.write(input);
    36 bw.newLine();
    37 bw.flush();
    38 }catch (Exception e) {
    39 e.printStackTrace();
    40 }
    41 }catch (Exception e) {
    42 e.printStackTrace();
    43 }
    44 }
    45 }
    46 
    47 ```
  • 相关阅读:
    算法-排序(二)-快速排序
    算法- 排序(一)
    python(十四)新式类和旧式类
    Python(十三)python的函数重载
    django(二)中间件与面向切面编程
    MySQL(二)MySQL的启动或链接失败
    django(一)验证码
    python(七) Python中单下划线和双下划线
    Python(十) Python 中的 *args 和 **kwargs
    python(六)列表推导式、字典推导式、集合推导式
  • 原文地址:https://www.cnblogs.com/ywzbky/p/10741178.html
Copyright © 2011-2022 走看看