世界速讯:java中的TCP是什么?如何进行通讯?
1 TCP是什么?什么是丢包?两个计算机间传输数据的规范,只要遵守,就能互相发送数据。切割成包的数据在传输过程中丢失了。
(资料图)
2 UDP是什么?为何不可靠?常用是哪个?不可靠传输协议。不确认包是否收到。TCP,UDP占用带宽大,不能保证即时性。
3 C S模式到B S模式的原因是?客户端过多,用Browser统合。
4 TCP如何进行通讯?Socket是什么?利用封装的SOCKET类,Socket相当于一个电话,连通后,会提供一个输入流,一个输出流。我的输入流对你的输出流,相反亦是。
5 什么是套接字?即Socket。
6 为何此处捕捉了异常最后还是抛出了异常? public Client() throws Exception{try {} catch (Exception e) {throw e; } }此处并没有处理异常,只是为了记录错误日志而捕捉。(异常并不归该代码块处理)
//一般直接抛出即可,由外部调用方法的代码块处理 //在此处感知错误是为了记录错误日志——当需要感知错误时便加try...catch... public Client() throws Exception{try {} catch (Exception e) {/*将来针对异常可能需要记录日志。所以需要感知错误。但是若异常不应当在这里 * 被处理时可以继续在catch中将其抛出。 * */ throw e; } }7 端口号用于?计算机中有许多应用正在连接网络,服务器通过IP地址传送到本机上,通过端口号判断接收数据的程序。
8 是否需要定义服务器端自身的IP地址和端口?不需要,系统已封装并创建。
9 public static void main(String[] args) {10 /* * 运行在服务端的java.netl.ServerSocket * 主要有两个作用: * 1:向系统申请对外的服务端口,客户端Socket就是通过这个端口与服务端程序建立连接的。 * 2:监听该服务端口,一旦一个客户端Socket通过该端口尝试建立联机,ServerSocket就会 * 感知并实例化一个Socket与该客户端进行通讯。 */11 服务端开始工作的方法是什么? public void start(){try {/* * ServerSocket提供方法: * Socket aeecpt() * 该方法是一个阻塞方法,用于监听服务端口,直到一个客户端链接上 * 为止,这里会返回一个Socket,通过该Socket就可以与该客户端进行通讯了。 * */ Socket socket = server.accept(); } catch (Exception e) {// TODO: handle exception } }package DAY11;/** * 聊天室服务端 * @author admin * */
import java.io.BufferedReader;import java.io.InputStream;import java.io.InputStreamReader;/* * 客户端与服务端连接传送数据需要符合TCP或UDP协议,而java中用Socket封装了该协议 * 因此创建客户端及服务端时便要实例化Socket对象(电话)用以互相传输数据, * 客户端的Socket可直接用java.net.Socket新建,而服务端要用java.net.ServerSocket来创建服务端的Socket接口,两个接口不同 * 客户端需要在构造中实例化一个socket对象,实例化socket对象需要传入服务端ip地址和端口号 */import java.net.ServerSocket;import java.net.Socket;public class Server {/* * 运行在服务端的java.netl.ServerSocket * 主要有两个作用: * 1:向系统申请对外的服务端口,客户端Socket就是通过这个端口与服务端程序建立连接的。 * 2:监听该服务端口,一旦一个客户端Socket通过该端口尝试建立联机,ServerSocket就会 * 感知并实例化一个Socket与该客户端进行通讯。Address Already In Use */ private ServerSocket server; /* * 服务端构造,用来初始化服务端 */ public Server() throws Exception{try {/* * 实例化ServerSocket的同时向系统申请服务端口,若当前系统其他应用 * 程序正在使用这个端口,那么这里的实例化会抛出地址被占用的异常。 * */ System.out.println("服务端正在启动..."); server = new ServerSocket(8081); System.out.println("服务端启动完毕。"); }catch(Exception e){e.printStackTrace(); } } /* * 服务端开始工作的方法 */ public void start(){try {/* * ServerSocket提供方法: * Socket aeecpt() * 该方法是一个阻塞方法,用于监听服务端口,直到一个客户端链接上 * 为止,这里会返回一个Socket,通过该Socket就可以与该客户端进行通讯了。 * */ System.out.println("等待客户端连接"); Socket socket = server.accept();//卡在这了 System.out.println("一个客户端连接了..."); /* * */ //用顶级接口接收输入流 InputStream in = socket.getInputStream(); //由于in为字节流,无法直接加载到br(有换行输出)上,所以需要先加载到isr上 InputStreamReader isr = new InputStreamReader(in,"UTF-8"); BufferedReader br = new BufferedReader(isr); while(true){String message = br.readLine(); System.out.println(message); } } catch (Exception e) {// TODO: handle exception } } public static void main(String[] args) {try{Server server = new Server(); server.start(); }catch(Exception e){e.printStackTrace(); System.out.println("服务端运行失败"); } }
}
12 何时需要定义内部类?属于外部类的一个子功能,需要单创建一个类时,定义在内部。且如果该类仅自己调用,还可定义为私有的。
13 如何同时接受多个客户端的信息?使用线程,将accept()实例化的socket传入线程中,循环该过程。
14 服务器是如何初始化的?通过创建ServerSocket对象,该对象用于申请对外的端口及创建Socket用以通讯(监听到请求连接后)
15 线程相当于封装了?流程。
16 提示需要create method时可能是什么原因?无 new .
17 打桩技巧——不要懒,每个点都打,
18 线程之间如何共享数据?将数据放在公共区域。
19 如何锁对象及判断是否有锁或属性以达到限制访问(互斥)?synchronized (allOut) {allOut.add(pw);}
20 编程思路整理技巧有?画图。
21 聊天 → 不用回一句就能显示(读写分离) → ip → 回复时间间隔
22 聊天室项目练习5次。
23 如何配置maven的xml文件?
24 字符流,基于低级流(字节流)
25 创建服务器及客户端的思路是?
转载于:https://www.cnblogs.com/qingji123/p/7513062.html
标签:
相关推荐:
最新新闻:
- 如何成为一名优秀的产品经理?这四步很重要
- 天天简讯:userdata.dll丢失怎么办?解决方法来了
- 怎么设置excel2007冻结窗口?excel2007冻结窗口设置方法:环球热消息
- 科技创新赋能美好出行 雅迪助力电动车行业高质量发展
- 天涯明月刀:1月第1批天涯合璧-数据互通(合服)即将启动-环球新资讯
- SIS与ESD、DCS、PLC,四者之间有什么关系?一文读懂SIS与DCS的关系:新动态
- 泛海微无线电动牙刷怎么样?无线充电电动牙刷技术介绍 天天讯息
- 冬季家用洗碗机怎么样?家用洗碗机使用特点
- 徕卡镜头有哪些型号?徕卡镜头大全以及报价镜头 每日看点
- 世界速讯:java中的TCP是什么?如何进行通讯?
- 求生之路2怎么局域网联机?局域网联机方法详解
- 三星S5660手机配置怎么样?三星S5660如何设置时间和日期?
- 当前热门:多普达手机如何鉴别?多普达手机行货验证介绍
- 世界今亮点!QQ网络硬盘在哪?如何添加QQ界面?
- 对象优先在eden区分配内存吗?堆中分配内存的对象有哪些?
- 每日视讯:Sora套装 迪卡侬入门公路3949元
- 当前报道:如何设置默认浏览器?谷歌浏览器设置默认Tip流程
- 焦点速递!什么是SEM?SEM和SEM有什么区别?
- 世界短讯!【pycharm】1.8.0+cuda111的运行环境
- 599美元香吗?RTX4070价格泄露
- 今日热搜:华为g525可以刷鸿蒙系统吗?华为g525强刷官方rom系统的教程
- 戴尔笔记本电脑多少钱?戴尔笔记本电脑价格大全 热消息
- 环球快资讯:网站服务器如何防御ddos攻击?教你一招
- ChatGPT对手 Bard将大幅度升级_环球热点评
- 焦点快看:CSS文件中的中文字体名称怎么写?CSS常用的中文字体名称对照表
- 天天简讯:联想ThinkPad有哪些型号?联想ThinkPad各系列型号介绍
- 时讯:ppt中的控件工具箱——ShockwaveFlash
- 热推荐:动态语言:C、PHP、Perl、Ruby哪个更适合你?
- 安卓设备的USB周边和安卓USB配件如何调试?具体操作方法
- 每日短讯:什么是视频会议系统?视频会议的发展及标准有哪些?
- qq字体怎么设置?qq聊天字体设置教程-天天热议
- CCFL是什么?CCFL背光屏有哪些优缺点?|当前视讯
- 焦点热讯:iPhone5怎么升级ios7?8款苹果设备升级更新
- IUNI U3的手机系统是什么?IUNI U3能升级安卓4.3吗?
- 专业数字录音机价格是多少钱?买哪种品牌?|每日速读
- 驱动到底是什么?我们应该如何安装和更新驱动?
- 破发了!RTX 3060Ti史低价2899元-环球快播报
- 回南天除湿机12L只要479元-全球速看料
- 摄像机的焦距是什么意思?摄像机焦距对应距离介绍_微动态
- 互联网广告表现形式有哪些?一文读懂互联网广告分类及收费方式-焦点快看
- 笔记本电脑电池如何校准电量?教你一招
- 华为光纤猫指示灯有什么用?华为光纤猫指示灯功能介绍:全球新资讯
- 每日动态!解析ElasticSearch ElasticSearch字段类型解析
- 每日看点!CentOS怎么升级Proftpd?CentOS升级Proftpd教程
- 无线数字电视怎么搜台?无线数字电视搜台步骤介绍
- 今日热讯:联想thinkpadx200怎样装系统?五步装电脑
- 飞信登录PC客户端时无法正常登录怎么办?无法正常登录的原因及排查方法-微速讯
- yydsNginx–无root权限安装(内网安装)
- 慧通V8机动车检测站收费管理软件 实现数据电子化|天天热头条
- SEO优化中如何利用爱站工具去分析搜索引擎蜘蛛?
- 每日看点!CentOS怎么升级Proftpd?CentOS升级Proftpd教程
- 安卓设备的USB周边和安卓USB配件如何调试?具体操作方法
- ClamAV病毒扫描工具怎么安装?ClamAV3.扫描工具安装使用教程
- 每日动态!解析ElasticSearch ElasticSearch字段类型解析
- 世界短讯!【pycharm】1.8.0+cuda111的运行环境
- 索尼新蓝牙耳机曝光!售价120欧 满电续航20小时 环球观点
- 全球新消息丨愚人节整活:卡普空推出猫猫专用《街霸6》对战设备
- PS开始在家电领域与Xbox竞争 PS愚人节视频公开 环球头条
- 《原神》公布3.6版本「盛典与慧业」4月12日上线 看点
- 全球快看:凶不露齿!美国新研究显示霸王龙也有嘴唇
- 性能稳了!曝三星Galaxy S24系列存储将从256GB起步,内存从8GB提升至12GB|当前动态
- HyperX全新推出Cloud2O Hydration耳机 帮助玩家“随时补充水分”
- 极氪 009 迎来首次 OTA 升级,ZEEKR OS 3.6 更新来袭
- 每日快看:《师父》登Steam四天销量破5万份 好评率高达94%
- 【环球热闻】卡普空猫猫专用设备发布!速同猫猫在《街霸6》中PK
- Epic老板蒂姆·斯威尼:我讨厌游戏中的广告|世界热议
- 欲购从速!PlayStation次世代智能家电公布 当前头条
- 吉田修平:很想看到独立开发者对于生成AI技术的应用|天天热闻
- 最新:Xbox高管认为Game Pass业务不会颠覆行业模式
- 环球快看:《辐射4》高清材质包 提升画质的同时保留原版速度
- 《半条命:艾利克斯》无VR MOD最新版本发布-当前速讯
- 地板下面有水怎么处理:新要闻
- WWDC 2023定档:iPhone X惨被抛弃!_天天热文
- iPhone15 Pro颠覆了17年的设计
- 苹果MR头显无码组件曝光
- 原厂颗粒内存新低价99元!
- 贵州茅台日赚1.72亿元:超额完成任务 业绩增速创三年来新高:环球最资讯
- 全球微头条丨漫威《秘密入侵》新剧照:龙妈搭档妈惹法克侠
- 每日快报!旭辉控股:收到匿名信称对总额18亿元交易提出质疑,延期发布2022年业绩
- 没人来!主办方谈E3取消:厂商退出的挑战难以克服-时讯
- 天天资讯:芬尼科技IPO信披与工商信息“打架” 创始股东设立时股东究竟2人还是41人?
- 世嘉公布免费悬疑视觉小说《刺猬索尼克谋杀案》
- Switch 2不远了 开发者已收到新主机开发工具-世界今头条
- 【环球速看料】V社正开发一个未公布游戏 有从未见过的玩法
- 精选!腾讯QQ Linux 3.1.1版发布:支持国产CPU和操作系统