网络编程之try-with-resource的坑

博客讨论了在网络编程的TCP通信中遇到的问题,详细描述了如何在使用try-with-resource时,由于BufferedWriter缺少newLine()方法导致客户端与服务器无法正确读取数据的bug。作者在修复这个问题后认识到,原来是BufferedWriter的使用不当,而非try-with-resource本身存在问题。
摘要由CSDN通过智能技术生成

标题try-with-resource的坑

有这样两端代码:分别是客户端服务器
需求:本意是通过TCP连接,实现点对点通信。
bug:客户端与服务端接受信息线程不能读取到socket中的数据。
本人在写这段代码时发生了bug,然后不知道什么原因,网过路大佬解惑,不胜感谢。当然如果你没有碰到过这样的问题,也留意一下,备日后避免犯此错误!

客户端代码:

import java.io.*;
import java.net.Socket;
import java.util.Scanner;

public class HomeWorkClient {
   
    public static void main(String[] args) {
   

    }
    //客户端
    static class ClientTCP_1{
   
        public static void main(String[] args) throws IOException, InterruptedException {
   
            while (true) {
   
                try {
   
                    Socket socket = new Socket("127.0.0.1",12345);
                    //连接成功
                    if (socket.isConnected()) {
   
                        //接受信息线程
                        new ClientTCPThread(socket).start();
                        //发送信息
                        Scanner sc = new Scanner(System.in);
                        try (BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(socket.getOutputStream()))) 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值