Java Socket实现双向通讯

本文介绍了如何使用Java Socket编程实现双向通讯,并探讨了在不限量数据接收时可能遇到的问题。通过示例代码展示了服务器和客户端的交互,强调了在数据传输前发送数据大小的重要性,以避免因流关闭导致的通讯中断。同时,作者还联想到了QQ消息限制200字以内可能与此策略有关。
摘要由CSDN通过智能技术生成

当我们使用java套接字编程实现通讯时,如果想实现双向的通讯,就有必要对每次传输的数据量进行限制。

例如,实现一个可以进行多次密码验证的服务器--客户端程序。

首先是服务器代码

import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.ServerSocket;
import java.net.Socket;
import java.nio.charset.StandardCharsets;
class MyServer{
    private ServerSocket server;
    private InputStream in;
    private OutputStream out;

    MyServer(int port) throws IOException{
        server =new ServerSocket(port);
        //System.out.println("listening");
        Socket socket = server.accept();
        in = socket.getInputStream();
        out = socket.getOutputStream();
        //System.out.println("connected!");
    }

    String getMassage() throws IOException {
        int len;
        StringBuilder sb = new StringBuilder();
        byte[] bytes = new byte[1024];   //接收数据的缓存,决定了一次传输数据的上限
//        while
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值