socket编程中的一个坑

最近在看netty。
书中的第一个例子,同步阻塞IO。
https://m.oschina.net/blog/369136
在向客户端写的时候,
代码用了out.print(currentTime);
这是错误的。

虽然构造PrintWriter的时候设置了自动flush。
但是print不会自动flush。要用println。
print() 方法等同于 write() 方法
println() 方法是在 print() 的基础上多调用了一个 newLine() 方法(私有方法)
而 newLine() 方法会调用 flush()
所以关键在于 flush()

看了下书,确实是println。应该是博主自己写错了。

另外,socket通信最好使用DataInputStream和DataOutputStream去封装读写的操作,或者用ObjectInputStream和ObjectOutputStream,而不要使用你写的BufferedReader和BufferedWriter。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值