服务器与客户端的通信

服务器与客户端的通信

先写服务器端
1. 利用服务器专门的套接制ServerSocket设置PORT端口号 
    ServerSocket listen = new ServerSocket(PORT)
2. 通过ServerSocket.accept();监听客户端的连接请求,并且返回客户端套接字 
    Socket client  = listen.accept();
3. 利用数据流DataInputStream/DataOutputStream,需要介质流,介质流就从客户端的套接字获取(getInputStream/getOutputStream)
    DataInputStream dis = new DataInputStream(client.getInputStream);
    DataOutputStream dos = new DataOutputStream(client.getOutputStream);
4. 服务端先收数据利用数据流读取(read)
    循环读取,处理数据(while)
    dis.read
    服务端再处理接收过来的数据,再发给客户端
        利用String的split(regex); 根据regex这个标识进行分割 
            String[] ps = msg.split[":"];  根据冒号进行分割
        根据发送过来的命令的不同,得到的处理的参数也不一致
            根据发过来的第0个就是%LOGIN%,来判断客户端发过来的是要进行什么样的处理。
        服务端的应答用字符串拼接发给客户端
再写客户端
1. 利用Socket 获取到服务器的ip地址和端口号
    Socket socket = new Socket(IP地址,端口号);  IP地址是服务器的ip地址

2. 通过数据流发送/接收数据,介质流就是Socket的getInputStream/getOutputStream
    DataInputStream dis = new DataInputStream(socket.getInputStream);
    DataOutputStream dos = new DataOutputStream(socket.getOutputStream);
3. 客户端先发送数据
    "%LOGIN%:ueername:password";
    客户端发送数据后,为了是客户端不马上结束,在末尾利用Thread.sleep(毫秒),让他停止下,避免连接重置
4. 客户端接收服务端处理客户端发送过去的数据,处理后返回的结果
    根据
    利用String的split(regex); 根据regex这个标识进行分割
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值