学习网络编程

网络编程

CS架构的特点:CS架构需要用户在自己电脑或手机上安装客户端软件,然后由客户端软件通过网络连接服务器程序,由服务器把数据发送给客户端,客户端可以在页面上看到数据。

BS架构特点:用户只需要通过浏览器输⼊网址就可以直接从服务器获取数

据,并由服务器将数据返回给浏览器,用户在网页上就可以看到各种数据了。

网络编程三要素:

1.P地址表示设备在网络中的地址,是网络中设备的唯一标识,分为IPV4IPV6

IPV4地址由32个比特位(4个字节)组成,将每8位看成一组,把每一组用十进制表示(叫做点分十进制表示法)。

IPV6采用128位二进制数据来表示(16个字节),号称可以为地球上的每一粒沙子编一个IP地址,

IPV6比较长,为了方便阅读,每16位编成一组,每组采用十六进制数据表示,然后用冒号隔开(称为冒分十六进制表示法)。

2.端口号:应用程序在设备中唯一的标识

周知端⼝:0~1023,被预先定义的知名应⽤程序占⽤(如:HTTP占⽤80,FTP占⽤21)

注册端⼝:1024~49151,分配给⽤⼾经常或者某些应⽤程序

动态端⼝:49152~65536,之所以称为动态端⼝,是因为它⼀般不固定分配给某进程,⽽是动态分配的。

3.协议:连接和数据在网络中的传输规则

InetAddress类

InetAddress localHost = InetAddress.getLocalHost();
System.out.println(localHost);
ystem.out.println(InetAddress.getLocalHost());
//获取本机的IP,返回一个InetAddress对象
System.out.println(InetAddress.getAllByName("www.baidu.com"));
InetAddress byName = InetAddress.getByName("www.baidu.com"); 
//根据IP地址或域名,返回一个InetAddress对象
boolean reachable = byName.isReachable(2000); 
//判断主机与对应的IP主机在对应时间内是否能联通
System.out.println(reachable);
String hostName = byName.getHostName(); 
//获取该ip地址对象对应的主机名
String hostAddress = byName.getHostAddress(); 
//获取该ip地址对象中的ip地址信息

UDP协议:⽤⼾数据报协议(User Datagram Protocol)。UDP协议是⼀个⾯向⽆连接的协议。传输数据时,不需要建⽴连接,不管对⽅端服务是否启动,直接将数据、数据源和⽬的地都封装在数据包中,直接发送。它是不可靠协议,因为⽆连接,所以传输速度快,但是容易丢失数据。

TCP协议:传输控制协议 (Transmission Control Protocol)。TCP协议是⾯向连接的通信协议,即传输数据之前,在发送端和接收端建⽴逻辑连接,然后再传输数据,它提供了两台计算机之间可靠⽆差错的数据传输。

三次握⼿:TCP协议中,在发送数据的准备阶段,客⼾端与服务器之间的三次交互,以保证连接的可靠。

第⼀次握手,客⼾端向服务器端发出连接请求,等待服务器确认。

第二次握手,服务器端向客⼾端回送⼀个响应,通知客⼾端收到了连接请求。

第三次握手,客⼾端再次向服务器端发送确认信息,确认连接。

完成三次握手,连接建立后,客户端和服务器就可以开始进行数据传输了。由于这种面向连接的特性,TCP协议可以保证传输数据的安全,所以应用十分广泛,例如下载文件、浏览网页等。

SYN(Synchronize)标志是TCP(Transmission Control Protocol)中的一个标志位,用于建立TCP连接。在TCP三次握手中,SYN标志用于表示请求建立连接,它的作用如下:

  1. 客户端向服务器发送一个TCP数据包,其中SYN标志被设置为1,表示请求建立连接。 这是TCP连接建立的第一步。客户端选择一个初始的序列号(Sequence Number)并将其包含在SYN数据包中。

  2. 服务器收到客户端发送的SYN数据包后,会回应一个TCP数据包,其中SYN标志和ACK标志都被设置为1。 这是TCP连接建立的第二步。服务器也会选择一个初始的序列号,并将其包含在回应中。同时,服务器会确认收到客户端的SYN请求。

  3. 客户端收到服务器的响应后,会再次发送一个TCP数据包,其中ACK标志被设置为1。 这是TCP连接建立的第三步。客户端用于确认服务器已经收到了客户端的SYN请求,并且连接已经建立。

三次握手完成后,TCP连接就建立起来了,客户端和服务器可以开始在这个连接上传输数据。

SYN标志用于同步TCP连接的状态,确保双方都知道连接已经建立。在TCP中,SYN和ACK标志用于建立和确认连接,而FIN(Finish)标志用于关闭连接。这些标志位是TCP协议的一部分,用于控制连接的建立和终止。

特点:面向连接,可靠。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值