当前位置: 首页 > wzjs >正文

小兔自助建站系统大学生网页设计作业

小兔自助建站系统,大学生网页设计作业,WordPress商品相册幻灯片,注册网站名字第14章 网络编程 网络编程概述 什么是网络编程? 网络编程是通过网络协议实现计算机之间的数据交换。Java提供了强大的网络编程支持,隐藏了底层细节,开发者可以轻松实现网络通信。 网络编程的核心问题 如何定位网络上的主机:通…

第14章 网络编程


网络编程概述

什么是网络编程?

  • 网络编程是通过网络协议实现计算机之间的数据交换。
  • Java提供了强大的网络编程支持,隐藏了底层细节,开发者可以轻松实现网络通信。

网络编程的核心问题

  1. 如何定位网络上的主机:通过IP地址和端口号。
  2. 如何高效传输数据:通过协议(如TCP、UDP)进行数据传输。

网络通信要素概述

通信要素

  • IP地址:唯一标识网络中的主机。
  • 端口号:标识主机上的应用程序。
  • 网络协议:规定数据传输的规则。

网络协议分层

  • OSI参考模型:理论模型,分为7层。
  • TCP/IP参考模型:实际应用中的4层模型。
OSI模型TCP/IP模型协议示例
应用层应用层HTTP、FTP、DNS
传输层传输层TCP、UDP
网络层网络层IP、ICMP
数据链路层物理+数据链路层Ethernet、Wi-Fi

通信要素1:IP和端口号

IP地址

  • IPv4:4个字节,如192.168.1.1
  • IPv6:16个字节,如3ffe:3201:1401:1280:c8ff:fe4d:db39:1984

端口号

  • 范围:0~65535。
  • 分类
    • 公认端口:0~1023(如HTTP的80端口)。
    • 注册端口:1024~49151(如Tomcat的8080端口)。
    • 动态端口:49152~65535。

InetAddress类

  • 功能:表示IP地址,支持域名解析。
  • 常用方法
    • getHostName():获取主机名。
    • getHostAddress():获取IP地址。
InetAddress address = InetAddress.getByName("www.atguigu.com");
System.out.println(address.getHostName());  // 输出域名
System.out.println(address.getHostAddress()); // 输出IP地址

通信要素2:网络协议

TCP vs UDP

特性TCPUDP
连接方式面向连接,可靠无连接,不可靠
数据大小无限制最大64KB
速度较慢较快
应用场景文件传输、邮件视频流、在线游戏

TCP三次握手

  1. 客户端发送SYN报文。
  2. 服务器回复SYN+ACK报文。
  3. 客户端发送ACK报文,连接建立。

TCP四次挥手

  1. 客户端发送FIN报文。
  2. 服务器回复ACK报文。
  3. 服务器发送FIN报文。
  4. 客户端回复ACK报文,连接关闭。

TCP网络编程

客户端步骤

  1. 创建Socket对象,连接服务器。
  2. 获取输入/输出流,进行数据传输。
  3. 关闭Socket
Socket socket = new Socket("127.0.0.1", 8888);
OutputStream out = socket.getOutputStream();
out.write("Hello".getBytes());
socket.close();

服务器步骤

  1. 创建ServerSocket对象,监听端口。
  2. 调用accept()方法,等待客户端连接。
  3. 获取输入/输出流,进行数据传输。
  4. 关闭ServerSocket
ServerSocket server = new ServerSocket(8888);
Socket socket = server.accept();
InputStream in = socket.getInputStream();
byte[] data = new byte[1024];
int len = in.read(data);
System.out.println(new String(data, 0, len));
server.close();

UDP网络编程

UDP特点

  • 无连接:发送数据前不需要建立连接。
  • 不可靠:不保证数据一定到达。

发送端

DatagramSocket ds = new DatagramSocket();
byte[] data = "Hello".getBytes();
DatagramPacket dp = new DatagramPacket(data, data.length, InetAddress.getByName("127.0.0.1"), 10000);
ds.send(dp);
ds.close();

接收端

DatagramSocket ds = new DatagramSocket(10000);
byte[] buffer = new byte[1024];
DatagramPacket dp = new DatagramPacket(buffer, buffer.length);
ds.receive(dp);
System.out.println(new String(dp.getData(), 0, dp.getLength()));
ds.close();

URL编程

URL类

  • 功能:表示网络资源的地址。
  • 结构协议://主机名:端口号/路径?参数
URL url = new URL("http://www.atguigu.com/index.html");
System.out.println(url.getProtocol()); // 输出协议
System.out.println(url.getHost());    // 输出主机名

URLConnection类

  • 功能:与URL建立连接,进行数据读写。
URLConnection conn = url.openConnection();
InputStream in = conn.getInputStream();
byte[] data = new byte[1024];
int len = in.read(data);
System.out.println(new String(data, 0, len));

小结

  • IP和端口号:定位网络中的主机和应用程序。
  • TCP:可靠传输,适合大数据量。
  • UDP:快速传输,适合实时应用。
  • URL:表示网络资源地址,支持HTTP协议。
网络编程
IP和端口号
网络协议
TCP
UDP
URL编程
http://www.dtcms.com/wzjs/519435.html

相关文章:

  • 广西商城网站建设英文外链代发
  • asp.net做登录网站资源网站自动收录
  • vs2013做网站保存的格式专业优化网站排名
  • 济南网站建设公司电子商务网站微信公众号平台官网
  • b2b网站建设方案惠州百度推广优化排名
  • 手机怎么做网站添加背景音乐广州网络seo优化
  • 做网站编辑好还是美工好怎样注册一个自己的平台
  • 免费制作二级网站自动外链工具
  • 鞍山市城市建设网站做网站要多少钱
  • 大凤号 网站建设营销广告网站
  • 专门做图的网站新公司怎么做网络推广
  • 营销型网站建设一般包含哪些内容河北seo基础入门教程
  • 邯郸做移动网站价格表网页制作咨询公司
  • 嘉兴营销型网站建设精准推广引流5000客源
  • 网站设计需求广州seo网络培训课程
  • 苏州做网站哪家比较好网络营销首先要做什么
  • 做淘客网站 知乎百度技术培训中心
  • 大连建设工程信息网改名为什么成都百度推广和seo优化
  • 中山移动网站建设公司百度如何免费打广告
  • 优化手机访问网站速度国际新闻军事最新消息
  • 怎么自己做时时彩网站网页设计html代码大全
  • 二手交易网站建设目标怎么做网上销售
  • 做网站需要办什么证件渠道推广策略
  • 鲁中晨报淄博疫情最新消息优化关键词排名哪家好
  • wordpress新注册用户不发送邮件淘宝seo什么意思
  • wordpress 分类文章数北京谷歌seo
  • 注册建设网站的公司哪家好搜客
  • 辽源做网站免费自制app软件
  • 哪个网站做签约设计师比较好链接提取视频的网站
  • 住房和城乡建设部网站政策发布上海百度seo优化