为了账号安全,请及时绑定邮箱和手机立即绑定

Java Socket应用---通信是这样练成的

难度初级
时长 2小时 0分
学习人数
综合评分9.77
496人评价 查看评价
9.9 内容实用
9.8 简洁易懂
9.6 逻辑清晰

已采纳回答 / ELLIOT4038596
发送完或者接收完之后就关闭这两个流。调用对应的shutdownoutput()和shutdowninput()方法。

已采纳回答 / 过道
说出来你可能不信, 你少打了一个“}", 我打了就输出了乱码

已采纳回答 / 慕少7573967
效率问题,不建立的话,就必须得上一个任务完成才会开始下一个任务,如果一个任务出了问题,就会一直停留导致不响应,耽误后面的任务。建立一个处理类,就使你响应速度加快。还有优点就不用我说了吧

已采纳回答 / 那天儿不太冷
拒绝连接,一般可能出现在,1、端口号被占用2、连接超时3、短连接,设置为长连接即可。

已采纳回答 / 晓琪
当数据库字段为blob类型时,必须使用PreparedStatement中的setBinaryStream(int,InputStream,int)方法;当数据库字段为longblob类型时,必须使用PreparedStatement中的setBinaryStream(int,InputStream,long)方法。

已采纳回答 / foradawn
一般不需要关闭吧,除非你确定执行到某一步后客户端不再需要与服务器通信,此时关闭socket即可

已采纳回答 / 匆匆2z
查看服务器端是否已经启动,并且监听端口查看客户端的主机地址端口号是否正确,检查代码,是否按照教程中的方法请求提问时建议加上报错信息,或者贴点关键代码

已采纳回答 / 见倾心
<...图片...>----------------------------------------------------------------------------------------<...图片...>客户端同样方式修改。。。

已采纳回答 / 长安An
这是线程的使用方面的知识。run()方法里面的叫线程体,是在这个线程需要执行的具体逻辑,而start()方法是启动线程。我们调用start()方法启动这个线程,然后系统会自动调用run()方法去执行里面的逻辑。如果我们不调用start(),而调用run(),的确可以运行run()方法里面的逻辑,但是那是在当前线程执行的,没有新的线程被建立,也就不叫多线程了。你应该补充一下线程方面的基础知识。

已采纳回答 / mk_tm
你问问题的下面

已采纳回答 / qq_啊宏_0
因为是客户端连接服务器建立了通信的通道,使客户端和服务器连接起来,所以已经建立好了桥梁,就可以发送信息过来了,而不需要再次连接。

已采纳回答 / Aaronzh
代表该线程正在运行状态,点击后会关闭该线程。

已采纳回答 / qq_倔強人生_0
 String buffer = br.readLine();            while (buffer != null) {                System.out.println("我是服务器端,客户端向我发送信息为: " + buffer);            }这句话有问题了,buffer在读取玩br.readLine(),的时候就是已经有数值了,你在循环的时候已经进入了while(1)z这样的情况,他是不会跳出循环的,所以一直在重复打印

已采纳回答 / 路漫漫哟
这是要看你获得的byte数组的编码的 而不是看你工作环境默认编码
课程须知
本课程是 Java 开发课程的高级课程,需要对 Java 中的面向对象、IO、多线程,以及网络相关知识有一定的基础
老师告诉你能学到什么?
1、网络相关的基础知识 2、Java 中网络相关 API 的应用 3、实现基于 TCP 的 Socket 编程 4、实现基于 UDP 的 Socket 编程

微信扫码,参与3人拼团

微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消