已采纳回答 / 墓头回
服务器是一直处于启动状态的,客户端则是分别处于各自的情况,他们通过socket进行通信,通过流来读取写入要沟通的消息。服务器端不是从头开始运行,而是从while循环里开始的。
2016-08-04
最新回答 / 应龙
因为这个里面的bytes是有固定长度的,是1024,而读取时,读的最多也是1024光一个bytes的字符串就站满了,所以要修改,sb.append(new String(bytes).trim());这样就好了
2016-08-04
已采纳回答 / 应龙
锚点是一种超链接,只是它是页面内部的超链接。http://jingyan.baidu.com/album/8275fc86b79e6446a13cf66b.html
2016-08-03
已采纳回答 / 想_自由
建立了新的线程后,显示客户端信息的方法在一个新的线程中执行。也就是说 显示当前客户端数量和ip地址信息的方法在一个线程中,处理接收客户端的输出信息在另一个线程中。两个线程同时执行,而显示客户端的数量这边的方法很简单,执行起来时间短,所以先输出出来了。你可以在count++前添加sleep函数让该线程暂停一会,结果就会反过来。
2016-08-03
最新回答 / 进步中的编程猿
pw.flush();//刷新缓存pw.close();os.close();socket.shutdownInput();br.close();is.close();socket.close();这个是客户端的 其中 socket.shutdownInput 应该改为socket.shutdonwnOutput 因为上面是接收了 输出流 所以是要关闭输出流 再有是你的客户端的地方 有同样的问题 把socket.shutdownOutput 改为socket.s...
2016-08-02
最新回答 / 慕移动9181930
老师,能不能把安装包也给我们啊,谢谢老师了type表示按钮的类型,是提交按钮还是重置按钮;name表示该按钮的名称,以备后台程序ASP、PHP使用
2016-07-31
已采纳回答 / qq_海贼_0
你的代码写错了,服务器端socket是由serverSocket.accept();来初始化,这样获取客户端传来的数据,除此之外你的User类还需要实现序列化接口,implements Serializable,最好把set/get方法补上,JavaBean的习惯养好,另外如果报端口号占用的异常,你就把端口号改一下,因为你按老师步骤实践可能8888端口之前已经用过了。<...code...>
2016-07-30
已采纳回答 / 江feng
这个原因建议去了解一个,原码、反码、补码的概念。IP地址是INT 类型的例如: 130在计算机中表示二进制位00000000 00000000 00000000 10000010 ,当它存入到字节数组中,由于一个字节有8位,故,存入后130为 10000010而二进制中最高位为符号位 (0代表整数,1代表负数),所以1000 0010表示的是一个负数,负数在计算机中是用的补码表示的,要求的原码,1000 0010 要先 -1 得:1000 0001 在求反后得其原码,0111 1110 转化为10进制为 ...
2016-07-29
最新回答 / 热爱学习的好孩子
首先cpu的资源有限,所谓的异步是快速的执行不同的任务,并且在之间进行切换,例如一个请求执行到某个阶段,再去执行另外一个,然后在切换回来继续执行。每一次的切换都是根据一个算法来选择下一个执行的任务到底是哪一个,其中影响算法选择的非常重要的参数就是任务的优先级,优先级高的任务执行的概率就高,反之优先级地的任务执行的概率就低。如果并发量非常的高的话,这种时间差就会非常的明显,所以要区分任务的优先级,让高优先级的任务先执行,次要的任务后执行。关键是少年别光注意 降低优先级这几个字 , 是降低其他任务的优先级,来...
2016-07-29