1。通过BufferReader的readline()方法来从Socket读字符,可能你会发现根本无法读到任何内容,这是ServerSocket没有在每行末强制写入"/r/n"造成的。解决的办法是用read()方法,然后自己来判断是否读到行末或者换行
2。如果服务端断掉了Socket连接,这是你写的Socket连接是无法判断的,isConnected(),isClose()都不能判断。这时你只能用输入流的read()方法返回的int来判断是否已经到文件最末。如果int i=x.read(y) 的i==-1那么这个Socket就断啦
本文介绍了使用Socket编程时遇到的两个常见问题:一是如何正确地从Socket读取数据直到行末;二是如何判断远程端是否关闭了Socket连接。对于第一个问题,文章建议使用read()方法并自行判断换行符。对于第二个问题,则可以通过检查输入流的read()方法返回值来判断。
1284

被折叠的 条评论
为什么被折叠?



