qq_慕函数1127845
资源浪费问题可以留给jvm的垃圾处理机制解决就可以了吧。你做的那个if判断没什么实际意义吧。
qq_慕函数8474026
线程类的第54行,判断语句后面怎么能加分号呢
慕虎0571853
建议先看多线程哦,但是如果不学多线程的话,我感觉影响不是很大
幕布斯9176636
ServerThread类中 //获取输入流
import org.omg.CORBA.portable.InputStream;你要导入IO流的包;
客户端中,Socket socket=new Socket(InetAddress.getLocalHost(),7001);将InetAdress.getLocalHost()直接写成"IP"这种就行了,IP是你自己的IP地址。
另外是先启动服务端,如果服务端没有启动的话,启动客户端会报错
br.close();
is.close();
pw.close();
os.close();
socket.close(); 如果多个流连接在一起,直接关闭最终的流就可以了;br.close();os.close();socket.close();
qq_一曲离殇丶笑看人世繁华_3
把两台电脑的防火墙都关掉就可以了
慕粉7419830
建议去看看多线程方面的知识,这个输出的顺序和写在外面的代码顺序是没有关系的,调用了start方法只是表明有一个新的线程开始工作了,并不代表原来的线程会暂停工作,多次运行输出的顺序有时候可能是不一样的。
学过多线程你就知道咋回事了。
I_am_xin
在路由器上做端口映射
ITCBL
不会,jvm回自动管理
慕数据0278947
qq_大堡贝_0
代码啊
刘樹海
ip和端口 是服务器端的,也就是服务器一直在侦听本地的指定的端口,等待客户端的连接请求,客户端访问的是服务器端的地址。服务器没有变,只是多客户端访问,所以IP和端口号不变
Passionate1
老师是把步骤3到步骤5之间的部分代码剪切到ServerThread类下面的,可不是复制过去的哦。
AatroxC
eclipse 中是 alt+shift+z,在选中后右键的包围方式那里
淡笑
https://www.imooc.com/learn/123
皈依__
while的时候每次执行到serversocket.accept()方法的时候会阻塞在那里,不会一直循环
皈依__
张禹专
127.0.0.1这个值是固定的,就是用来表示本机的,和你机器的实际IP地址无关
菜鸟初学者old_four
Alt + shift +Z
qq_Hasneverforg_0
点笔记那边,,有截图按钮
做人蛋定
你可以在count++前面加个sleep方法,就可以打印你想要的了
慕粉2023498883
因为等于null就代表没有连接到客户端啊,关闭还有什么意义
不动听
每台电脑本地的ip地址都是127.0.0.1,就是那个可以用localhost代替的ip
L雨泽
没有上下文的代码只能猜测,强答一发。socket.close()这个方法调用是需要具体的对象的如Socket socket = new Socket(8888);如果没有对象只有引用,那么就会初始化为null,在null这个无意义的数据上是无法产生有意义的结果的。有点偏题。。。。socket如果不为空,那么一定有一个Socket对象被打开,当使用完后资源没有close就会占用资源,可能造成别的程序无法访问资源。。。但是这个if是感觉没必要的,在null上调用close是没有意义的,个人见解,欢迎指教
蔚然成麟er
因为网络通信过程中客户端的主机名是不会带到服务器端的。。第二,你没学过多线程吗,不知道主线程和调用的线程是交替进行的吗,都是独立进行的。
追梦21
你这个属于操作错误吧
慕设计4778599
你的意思是一个服务器发多条信息还是多个服务器
qq_宠辱不惊_3
效率问题,不建立的话,就必须得上一个任务完成才会开始下一个任务,如果一个任务出了问题,就会一直停留导致不响应,耽误后面的任务。建立一个处理类,就使你响应速度加快。还有优点就不用我说了吧
_长野的天
一. 检查count=0
二.检查输出adress的代码位置
进击的猿
代表该线程正在运行状态,点击后会关闭该线程。
qq_苔上雪_04205930
一看就没学多线程··,调用start方法就是调用了run方法