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

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

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

已采纳回答 / 慕工程0397477
挺重要的。这是基础,要想后面学习不费劲,打好基础很重要

已采纳回答 / 慕粉3291149
读文件的时候不需要刷新缓冲区吧  只有写文件的时候才刷新缓冲区吧

最新回答 / Airly
第1,你可能没有导入包第2,你可能没有实例化这个对象...比如:DatagramPacket packet = null;而不能DatagramPacket packet;这样会报错。

已采纳回答 / 疲惫的程序猿
是不是没有调用socket.shutdownOutput()方法,关闭输出流

已采纳回答 / 徑直上漠北
ctrl+shift+t,输入你要查找的类ctrl+o, 浏览方法

最新回答 / peng1990
找到原因了,老师在client端关闭了io流,这个时候br.readLine()会返回空。如果不关闭io流,br.readLine()会一直阻塞。。。。

最新回答 / SoyaDokio
log就是你的出错信息,楼上说的没错,你的报错信息不全。出错的是Client类,你盯着人家Server类看什么。

已采纳回答 / qq_昼绽_0
InetAddress对象的获取InetAddress的构造函数不是公开的(public),所以需要通过它提供的静态方法来获取,有以下的方法:static InetAddress[] getAllByName(String host)static InetAddress getByAddress(byte[] addr)static InetAddress getByAddress(String host,byte[] addr)static InetAddress getByName(String ho...

最新回答 / qq_高山流水_6
toStringpublic String toString()将此 IP 地址转换为 String。返回的字符串具有以下形式:主机名/字面值 IP 地址。 如果主机名是未解析的,则不执行反向名称服务查找。主机名部分将由一个空字符串表示。覆盖:类 Object 中的 toString返回:此 IP 地址的字符串表示形式。你看是不是这个问题。

已采纳回答 / qq_云在风中_0
<...图片...>输出流,你关了输入流

已采纳回答 / qq_云在风中_0
这么跟你说吧,你代码肯定跟老师不一样,我想应该是你的关闭socket输入输出流的顺序有问题。截图跟你看:服务器端,这三步要依次来,这是有原因的<...图片...>客户端:对应的顺序也不能颠倒,你做到了这些,包你没问题,妥妥的<...图片...>

最赞回答 / SoyaDokio
提到多线程,往往还会想起另一个词:并发。前者是手段,后者是目的。并发,顾名思义指同时发生,这里这个问题我所知只有多线程能解决。题主所提出的猜想咋一看似乎可行,实则不然。假如我们将讲师的代码改一改,将服务端给客户端发的消息改成用户在控制台输入,然后再发给客户端,而客户端也类似于此修改。修改之后按照题主的猜想,假设第一个客户端连上服务端后,用户不往控制台输入内容,那么客户端和服务端程序就会卡(阻塞)在相应的这一行,直到用户往里输入内容并以回车结束后才会继续执行程序。这此期间,服务端一直停着,试问如何分身去响应...
课程须知
本课程是 Java 开发课程的高级课程,需要对 Java 中的面向对象、IO、多线程,以及网络相关知识有一定的基础
老师告诉你能学到什么?
1、网络相关的基础知识 2、Java 中网络相关 API 的应用 3、实现基于 TCP 的 Socket 编程 4、实现基于 UDP 的 Socket 编程

微信扫码,参与3人拼团

微信客服

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

帮助反馈 APP下载

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

公众号

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

友情提示:

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

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消