在使用socket的时候发送消息后,服务端收不到

socket = new Socket("127.0.0.1", 23456);
                    // 输出流
                    pWriter = new PrintWriter(new OutputStreamWriter(socket.getOutputStream()));
                    // 输入流
                    bReader = new BufferedReader(new InputStreamReader(socket.getInputStream()));
                    textArea.append("连接成功\n");
                    String line = null;
                    // 连接sock的用户发言,其他连接用户也可以看到
                    while ((line = bReader.readLine()) != null) {
.....后面的内容不重要

发送消息

if (msg != null && pWriter != null) {
     //发送一个标记
     pWriter.write("click@" + msg );
     pWriter.flush();
 } 

 

原因:使用readLine() 函数来读取流中的信息时候是按行读取,流中认为行一定要有结尾,也就是添加 \t 或者 \n,如果不添加的话,会认为这行你还没有写完,不会读取,所以加个 后缀就好了

if (msg != null && pWriter != null) {
    //发送一个标记
    pWriter.write("click@" + msg + "\n");
    pWriter.flush();
 } 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值