Java 通信项目1 本地服务器和客户端

Java通信项目1

准备工作

控制面板 — 程序 — 启动或关闭windows功能 — 勾选Telnet客户端
在这里插入图片描述
在这里插入图片描述

命令行 查看本地IP地址、启动Telnet客户端

ipconfig 查看本机的IP地址
telnet IP地址 端口:请求连接的 目标主机 和 对应的端口号
ping IP地址 :检查与目标主机间的网络连接情况
telnet localhost 端口 请求连接本地的服务器 和对应端口

ServerSocket 、 Socket的用法

简单讲一下这2个类的用法,具体的底层原理可以看TCP/IP 协议

简单理解
IP 就是 计算机在网络中的地址
port 端口号 是连接每个程序的入口
IP +Port 可以找到 哪台计算机 的 哪个程序 在调用服务器
这两个类 就是 ip +port 的封装,方便服务器和客户端的连接

ServerSocket (服务器套接字)
服务器端需要创建监听特定端口的ServerSocket
ServerSocket:接收客户端的连接请求,并做出相应的反馈

Socket (客户端套接字)
每多一个 客户端的链接,那就要多一个Socket套接字
Socket 就是ip+port封装,作为一个方法供实例调用
程序可以用IP+端口号进行唯一标识。这个程序的入口就被称作Socket

** 输入输出流**
对不用的对象(服务器、客户端),输入输出流的定义不一样,
比如客户端的输入流,可能是服务器的输出流
在这里插入图片描述

public class Mysever {

    public void createSever(int port)throws Exception{

        ServerSocket serverSocket =new ServerSocket(port);

        System.out.println("服务器在监听 "+port +"端口\n");

        //阻塞监听 连接次服务器的客户端
        Socket socket = serverSocket.accept();
        
        //Sever发送给客户端的信息 输出流
        OutputStream os = socket.getOutputStream();
        //客户端发送信息 Sever 输入流
        InputStream is  =socket.getInputStream();

        String send_message = "client connects Sever \n\r";
        byte[] message_bytes =send_message.getBytes();

        // 因为是使用的字符流,所以要把string 转化为 byte 数组  byte是基本数据类型
        // Byte是java中 byte的封装类 Integer 和int

        os.write(message_bytes); //写入通道 Sever发送给 客户端的信息
        System.out.println("客户端发送信息成功");
        
        while (true){
            //得到客户端发送的信息
            StringBuffer stringBuffer =new StringBuffer();
            int c =0;
            while ( c != 13){  //回车的Ask ii码是13, 回车表示客户端发送信息的结束
                c =is.read();
                stringBuffer.append((char) c);
            }
            System.out.println("client send:" +stringBuffer);

            String  next = "please type next  message\n\r";
            os.write( next.getBytes());

        }// 不停地发送接受信息
    }
    public static void main(String[] args) throws Exception {
        new Mysever().createSever(9999);
    }
}

具体操作步骤

首先打开 java程序, 服务器开始监听端口
在这里插入图片描述
用命令行 telnet localhost 端口 连接本地服务器
客户端连接服务器
在这里插入图片描述
这样服务端和客户端就可以开始通信了

右边 客户端 不断发送消息到 服务器
左边 服务器 接受 客户端的消息
持续向管道写入 please type next message
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值