已采纳回答 / 惫懒sloth
首先InetAddress.getLocalHost() 这个方法返回的就是byte[]数组,这个没法改。其次ipv4是4个0-255间的整数组成的,byte是1字节8 位,正好满足(2的8次方=256),所以用byte去接是合适的。但由于java中没有unsigned的类型,所有数都是带有正负位的,所以最高位的 1 将会被解释为符号位,另外 Java 中存储是按照补码存储,如果是地址中一个是135,转二进制 1000 0111 ,这会被java认为是补码形式,转换成原码便是 1111 0001,转换成十...
2015-12-12
已采纳回答 / sxian_wang
肯定是你对着视频敲代码的时候敲错了。你检查下一下几个地方:定义的表示客户端数量的变量初始化是不是0你的System.out.println()语句是不是在accept()之前如果不是这两个地方有问题,你把serverSocket的代码贴上来,我给你看看
2015-12-08
已采纳回答 / 程序员大佬超
shutdownInput和shutdownOutput,这两个方法只关闭相应的输入、输出流,而它们并没有同时关闭网络连接的功能,java 数据流关闭后,对应的Socket不会自动关闭,除非你结束这个程序,他就会关闭,客户端socket只是处于半关闭状态,仍然可以和Server端交互,,,,,,so,,
2015-10-18
已采纳回答 / 沉默的鱼200211
System.out.println("服务器地址: "+serverSocket.getInetAddress().getHostAddress());
2015-09-25
已采纳回答 / 武庚_Rehan
如果采取字节输入流的话,最后还要将读到的字节转化为String类型输出,因为没有readLine()方法,这个转化的过程可能会出错,如果采用字符输入流的话,读到之后直接就可以输出,较为方便
2015-09-24
已采纳回答 / needself
你想多了。只要你明白不管前面的还是后面的内容只要是java语言介绍的都是各种各样的面向对象的类线程类,输入输出类因为某些属性及功能而变现的封装代码而已就是一些java提供给你的类别纠结,会用就好
2015-08-23