已采纳回答 / 惫懒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
最新回答 / sxian_wang
客户端有多种请求可以考虑使用Servlet去实现,不一定用Socket,这个看业务场景;解析字符串String类库提供了大量的方法,请自行查阅相关文档;传输对象,不知道你说的是什么对象;大文件,慕课Java专题有专门的实现文件上传下载的课程,请自行学习。
2015-12-08
最新回答 / 山水之间mss
你把UDPServer中的:DatagramSocket socket=new DatagramSocket(8800),改为DatagramSocket socket=null;然后在死循环中初始化socket=new DatagramSocket(8800);这是因为UDP是一种临时的协议,每次传输完数据close之后,都必须再次创建
2015-11-25
最赞回答 / lude007
一、 1. private static final int maxError = 6; //可以写一个静态常量用来用来白表示限制的阀值. 2. private static final Map<String, Integer> failMap = new HashMap<String, Integer>();//创建一个Map<String,Integer> 类型的变量来记录用户登录失败的次数 3. private st...
2015-11-15