Java网络编程简明教程AbcBoy

计算机网络是两台或更多的计算机组成的网络,同一网络内的任意两台计算机可以直接通信,所有计算机必须遵循同一种网络协议。

UDP(UserDatagramProtocol)协议是数据报文协议,不面向连接,不保证可靠传输,由于UDP协议传输效率高,通常用来传输视频等能容忍丢失部分数据的文件。

Socket通常称为套接字,用于应用程序之间建立远程连接,Socket内部通过TCP/IP协议进行数据传输,可以简单的理解为对IP地址和端口号的描述。Socket接口是由计算机操作系统提供的,编程语言提供对Socket接口调用的封装。通常计算机同时运行多个应用程序,仅仅有IP地址是无法确定由哪个应用程序接收数据,所以操作系统抽象出Socket接口,每个应用程序对应不同的socket(每个网络应用程序分配不同的端口号)。端口号的范围是0~65535,小于1024的端口需要管理员权限,大于1024的端口可以任意用户的应用程序打开。

Java提供了Socket类ServerSocket类对计算机操作系统的Socket进行调用。客户端使用Socket(InetAddress,port)构造方法传入IP地址和端口号打开Socket,与远程服务区指定端口进行连接,然后调用socket的getInputStream和getOutputStream方法获取输入和输出流就可以读写TCP的字节流:

//连接远程服务器Socketsocket=newSocket(InetAddress,port);//读写字节流InputStreamin=socket.getInputStream();OutputStreamout=socket.getOutputStream();服务器端通过ServerSocket(port)构造方法传入端口号来监听指定的端口,然后通过accept()方法得到一个Socket对象与远程客户端建立连接,同样调用Socket对象的getInputStream和getOutputStream方法就可以读写字节流,服务器端完成传输后可以通过close()方法关闭远程连接和监听端口:

//监听端口ServerSocketserverSocket=newServerSocket(port);//建立远程连接Socketsocket=serverSocket.accept();//读写字节流InputStreamin=socket.getInputStream();OutputStreamout=socket.getOutputStream();//关闭连接socket.close();//关闭监听端口serverSocket.close();我们可以在本机做一个小实验,首先编写一个客户端的TCPClient类,通过Java提供的InetAddress类的getLoopbackAddress()方法获得localhost地址,然后使用Java的Socket类创建一个与本机8090端口的连接,再将读取字节流包装成一个BufferedReader对象、写入字节流包装成BufferedWriter对象。使用BufferedWriter写入一个“time”字符串并发送到本机的8090端口,再用BufferedReader读取本机8090端口返回的数据并打印出来。代码如下:

服务端的一个ServerSocket可以同时和多个客户端建立连接进行双向通信,实现起来也很简单,在设置好监听端口后,在一个无限for循环中调用ServerSocket的accept()方法,返回与客户端新建的连接,再启动线程或者使用线程池来处理客户端的请求,这样就可以同时处理多个客户端的连接,代码如下:

Java提供了一个javax.mail包,可以很方便的实现发送和接收邮件,而不用去关系SMTP协议和POP3协议的原理,方法如下:

HTTP协议(HyperTextTransferProtocol)又叫做超文本传输协议,它是基于TCP协议上的请求和响应协议,是目前使用最广泛的高级协议。最早的HTTP协议版本是HTTP1.0,每一次请求,都会创建一个TCP连接,由于浏览器打开网页通常会请求不同的资源(例如图片,CSS等其他资源),创建TCP连接会有一定耗时,所以传输效率比较低;HTTP1.1则做出改进,多个HTTP请求可以通过一个TCP连接完成,效率得到提高;HTTP2.0同样也是多个请求通过一个TCP连接完成,但是浏览器发送一个请求后不需要等待服务器的响应就可以立刻发送后续的请求,服务器只要有了响应数据立刻返回,不关心请求的顺序,也就是说HTTP2.0不需要严格按照收到请求再响应的方式进行。

HTTP服务器用于处理HTTP请求,发送HTTP响应。在Java中,HTTP服务器通过JAVAEE的ServletAPI定义,通常Servlet容器根据收到的HTTP请求信息创建一个Request对象,再创建一个Response对象用来向Web客户端发送响应,调用Servlet对象的service()方法处理Request和Response,具体参考Servlet教程。

HTTP客户端用于发送HTTP请求,接收HTTP响应。Java提供的java.net.HttpURLConnection类可以实现HTTP客户端功能:

THE END
1.车载网关安全技术简介(含代码示例)车载网关技术是一种将车辆内部通信与外部互联网进行连接和管理的技术。它充当了车辆内部网络和车辆与外界网络之间的桥梁,实现了车辆信息的传输和互联网服务的接入。 车载网关技术的工作原理如下: 1.数据采集和处理 车载网关通过连接车辆内部的CAN总线、乘用车汽车电子网络(CAN/LIN/FlexRay)等接口,采集车辆各个子系统(如https://blog.csdn.net/andlee/article/details/134906811
2.汽车网关知识介绍网联汽车以及自动驾驶已经是汽车行业的大势所趋,随着汽车数据处理的不断增强和连接功能不断增加,车辆必须以非常低的延迟在各个域之间对越来越多的数据进行安全可靠的处理和通信。汽车网关处理器通常是32位微控制器(MCU),存储和常用的网关接口已经内置中,如控制器局域网(CAN)、本地互联网络(LIN)和 FlexRay等低速接口https://www.fanyedu.com/content/115883.html
3.汽车电子控制器程序梳理KLRKL15KL50代表的是汽车系统的三种电源模式。 KL——汽车电源的ACC模式——radio档,启动功能,收音机, KL15——汽车的Run模式——启动功能,空调,升降车窗 KL50——汽车的Crank模式——点火档 networkmanager SourceId:源地址,CAN报文标识符场,可分解为基地址和ECU地址; https://www.yoojia.com/ask/17-12220072829379738887.html
4.遥控车路径规划及导航Python实现遥控车编程遥控车路径规划及导航Python实现 遥控车编程 出遥控小车是一个比较经典的51单片机项目,适合用来作为新手的毕业项目,考察的比较综合。 先放代码: 这是引脚调用和全局变量定义,代码经过多轮调试确定可行,如果复制后运行得不到预期效果,多半是问题出在这个部分,可以更具原理图和开发手册进行修改。https://blog.51cto.com/u_16213574/11862038
5.可视化网关编程系列教程(1)入门双击knx节点,然后界面如下图所示,点击笔,对knx网关进行配置,目前只支持knx-ip方式。建议使用IP-Router方式,更加稳定。 如第二图所示,直接添加即可。其他选项可自行看英文,一个是绑定端口(有线还是无线),一个是填写物理地址。 image.png image.png 开关灯 https://www.jianshu.com/p/a4ca31e0a372
6.教你如何手动编程解码,2018款斯柯达昕锐更换大灯教程第四步:点击“选择系统”,该功能就跟你们用过的盗版5053和所谓的原厂5054一样,可以进入到车身各系统进行编程设码。重点在于你的盗版第一代5053根本进不了18年款斯柯达昕锐的09系07长编码帮助,所以你用盗版5053是无法修改滴。而用所谓原厂盗版滴5054你启动个电脑和软件的时间我们改装宝典早已修改完成后在抽烟喝咖啡https://www.aesups.com/gdzs/251.html
7.网络编程入门教程通常把网络中的设备叫做节点,包括:PC、打印机、手机,路由器、交换机、网关等。在网络发展的早期,计算机网络仅仅是由科研院所、大学等研究机构的计算机组成。今天看来,组成计算机网络的终端系统不仅仅是计算机了,还包括手机、汽车、家用电器、摄像头等很多类型的终端。Internet是指世界范围内的计算机网络互连在一起形成的http://www.360doc.com/content/22/0505/18/79520218_1029899915.shtml
8.KULI软件使用手册大全KULI软件使用手册大全_kuli软件中文版教程,kuli软件 [m**me上传15.79 MB文件格式7z KULI是汽车系统热平衡匹配软件,该使用手册几乎涵盖了所有功能,400多页,很详细。 (0)踩踩(2) 所需:1积分 kjhkjhkfsgsdf2020-04-19 18:50:29 评论 英文版的没啥用,就是tutorial文件https://www.coder100.com/index/index/content/id/1110731
9.Win7旗舰版设置默认网关教程介绍PHP编程网Win7旗舰版设置默认网关教程介绍 导读:默认网关,我们也成了缺失的网关,是连接子网和外网的设备。最近有朋友回应说想设置网络网关,但是不知道在电脑里设置哪里,怎么设置。以下小系列将为您带来Win7旗舰版设置默认网关的方法。 Win7旗舰版设置默认网关的方法: 1.点击开始菜单,找到并打开控制http://www.0713zz.com/html/server/windows/2022/0723/389778.html
10.PHP异步编程:利用协程实现高并发处理php教程问题:php中协程用于解决什么问题?答案:提升并发处理能力,在高并发场景下优化程序性能。使用swoole或yar扩展库实现协程。创建协程客户端异步处理任务(如数据库查询),避免线程阻塞。提升网关服务性能,实现高并发请求处理。 PHP 异步编程:利用协程实现高并发处理 https://www.php.cn/faq/825582.html
11.mqtt协议怎么连接云服务器北美VPS2、可视化网关编程系列教程---(8)MQTT设备接入与控制 3、在云服务器上搭建了mqtt,为什么手机连接不上mqtt,要怎么做才能连接上 4、实例:使用MQTT进行交互 第四部分、建立天猫精灵和巴法云的连接 账号登录:输入巴法云的用户名和密码,完成登录,进入设备列表。成功登录后,您会在“我的所有设备”页面看到巴法云创https://www.zovps.com/article/index.php/post/180491.html
12.GitHub上高质量有趣实用的开源技术教程开发者工具编程《编程、数学、科学》 国外一位开发者近期在 GitHub 上开源的资料仓库,里面收录了编程、数学、科学领域相关的工具、书籍、网站等内容,涵盖算法、命令行工具、数据库、设计模式、GUI 编程、操作系统、文本编辑器等分支。 fun-with-computer-graphics 国内一位开发者整理的图形学资料,包含各大高校课程、书籍、教程、文章https://github.com/demaolianda/GitHubDaily
13.电脑软件论文范文12篇(全文)埃森哲分析认为,之前大部分中国企业针对功能应用的实施都采用客户化定制软件,与以下因素有关: 一是许可证费用的节约以及市场上存在较多廉价的通用软件编程人员,意味着开发客户化软件常常可节约大量成本。而使用国外的套装软件,从长期来看成本还是比较便宜的,但一开始投入的使用费和咨询服务费是比较贵的; 二是先前的业务https://www.99xueshu.com/w/ikeyjap6is6v.html
14.快速入门教程如何连接EG系列边缘计算网关概述本章节教程主要介绍通过多种方式连接设备,进入设备的编程界面1. 网线直连使用网线直接将电脑和网关相连,并将电脑的IP设置为192.168.88.100,然后浏览器输入:192.168.88.1:1880,密码:EG12345678,如图所示:2. WIFI连接使用电脑的WIFI连接网关的AP热点,默认AP热点https://www.iotrouter.com/news/1815.html
15.java培训高品质java培训机构十四年的一线开发经验,六年的培训经验,曾先后在HP,东软,亿达信息,日产汽车等国内外知名软件企业,担任资深软件工程师,项目经理等职位,主持并参与东芝gps,全日空欧盟铁道交通预定系统 等要求高、时间紧的多个大型项目的开发,积累了丰富的代码编写、调试,运维部署及系统级别的评估调优等实战经验。 与讲师对话 老何 千锋Javhttp://www.mobiletrain.org/java
16.mapreduce编程教程编程实例华为云帮助中心为你分享云计算行业信息,包含产品介绍、用户指南、开发指南、最佳实践和常见问题等文档,方便快速查找定位问题与能力成长,并提供相关资料和解决方案。本页面关键词:mapreduce编程教程。https://support.huaweicloud.com/topic/220163-2-M
17.编程知识分享编程教程资源下载源码下载编程知识分享网是一个编程资源发布技术服务平台,提供java/php/小程序源码,discuz模板/插件,wordpress模板/插件下载,java教程,vue教程,mysql教程,php教程等发布平台,初心是为光大开发者提供精致的资源!https://www.ittce.com/
18.Gateway网关教程:新手入门指南本文详细介绍了Gateway网关教程,包括网关的基本概念、工作原理、常见应用场景以及如何设置和安装网关软件。文章还提供了网关的高级配置方法、调试与维护技巧,并通过实际案例展示了网关在项目中的应用。 网关基础概念 网关是什么 网关是一种位于客户端和服务器端之间的中间件,用于处理所有传入的请求。它能够执行任务如路https://www.imooc.com/article/369197
19.keba教程科控编程手册.docxKeStudio 功能及界面介KeStudio是什KeStudio功能一KeStudio 组工程组程语指令结构化文顺序功能图功能模块连续功能图表编辑梯形调试联机功标准KeStudio 界面内容详整体架Resources资PLC 配Robothttps://www.renrendoc.com/paper/269945195.html
20.广州智维电子科技有限公司广州智维12年专注于汽车测控领域!重点围绕车载网络CAN总线分析仪,汽车尾气排放仪,汽车测试数采系统,总线协议转换网关,电池检测仪等车辆测控仪器设备,代理销售国外先进的仪器设备,提供行业应用解决方案。公司主营业务:KVASER,CAN总线分析仪,HORIBA,汽车尾气排放仪,空燃比仪,http://www.triv.cn/