最赞回答 / lxlacie
<...code...>public class UdpSocketMilServerDemo { public static void main(String[] args) { DatagramSocket socket = null; try { /* * 接受客户端发送到服务器的数据信息 */ int count = 0; //创建DatagramSocket,指定端口 ...
2016-04-11
已采纳回答 / SoyaDokio
如果代码整体还是这样只做测试之用,那我的建议有两个:在writer.write("用户名:admin;密码:123456");中输出的字串结尾手动加上换行符,变成writer.write("用户名:admin;密码:123456\n");或writer.write("用户名:admin;密码:123456\r");将writer.write("用户名:admin;密码:123456");这个方法改为java.io.PrintWriter.println()这个方法,即改为writer.println("用...
2016-04-04
已采纳回答 / 安静_天空
因为你想读取每一行所显示的内容(文字内容)。如果你用字节流输出,那么得到的结果会是一些字节码,然而你并不一定想得到字节码,你想得到的可能是文本内容,如果容内中存在汉字,你可能会得到乱码,一个汉字占用两个字节~字节流的输入输出都是以字节为基本单位的,即都是0101这样的东西。BufferedReader的缓冲作用主要是为了读写内容时更高效。
2016-04-02
已采纳回答 / 散落凡尘的雨
其实是一样的,只不过表现的形式不同。192.168.56.1转化成字节数组就是[-64,-88,56,1],具体转化:byte为8字节192太大所以表示不成正数的192就表示成-64,其余的都是同理,56可以表示成56。(至于为什么要表示成-64,原因是在计算机中存储的数都是补码,-64的补码与192的补码相同都是11000000所以可以这样存储)。
2016-03-08
已采纳回答 / SoyaDokio
这是一种正确、严谨的写法。验证非NULL是编码中很重要的一环。假如本来就是NULL,这是调用各自的close()方法是会报错的。如果在实例化这些对象时出错导致这些对象为NULL,或是实例化没问题但中途出了什么异常导致这些对象为NULL,都会在未经验证非NULL前尝试调用close()方法关闭时报错。p.s. 讲师写socket关闭条件时写的是if(socket!=null)socket.close();这样写没错,但我想说一般是另一种写法if(!socket.isClosed())socket.close...
2016-02-29
已采纳回答 / LynnShaw
未指定端口号时,getport()返回-1如果要返回默认端口号,使用public int getDefaultPort()Gets the default port number of the protocol associated with this URL. If the URL scheme or the URLStreamHandler for the URL do not define a default port number, then -1 is returned
2016-02-17
已采纳回答 / current_bp
首先不知道你是什么意思,如果byte类型,其最大值是127,超过最大值,就是越界,有可能变成负数,short类型的最大值是2^15-1,这个应该不会出错,不知道是不是你的类型错误。。。错将string类型赋值给short了。。。
2016-02-15