实现简单的网络套接字编程UDP

一、IP地址

1.作用:在IP协议中,用来标识网络不同主机的地址。
2.IP协议有两个版本,IPv4和IPv6。
IPv4:IP地址有4个字节,共32位。
IPv6:IP地址有16个字节,共128位。
3.通常用“点分十进制”的字符串表示IP地址,用点分割的每一个数表示一个字节,范围是0~255.

在网络传输数据的过程中,IP地址是不变的。IP地址包括源IP地址、目的IP地址。

二、端口号

1.作用:在网络传输过程中,用于标识进程,告诉操作系统,当前的数据要交给哪一个进程来处理。
2.端口号包括:源端口号、目标端口号。
3.端口号是一个2个字节,有16个比特位的整数。
4.一个端口号只能被一个进程占用。
5.只能标记本主机端口号。

因此,我们就知道了,IP地址和端口号可以标识网络上某一台主机的某一进程。我们把IP地址和端口号的组合称为“套接字”。

既然端口号可以标识该主机下的某一进程,那么,端口号与进程ID有什么区别呢?
其实,端口号和进程没有必然的联系。
1个进程可以有多个端口号。
不同的端口可以连接不同的服务器程序,以提供不同的服务。
1个端口号不能被多个进程绑定。

查看端口号
1.在windows下:
查看某个端口号的使用情况,看到底被哪个进程占用,或者需要将其kill掉。
查看命令:netstat -nao | findstr “1234”
taskkill 1234
这里写图片描述
或者在任务管理器下也可以查看:
这里写图片描述
终止:
命令:taskkill [/F] /pid id号
其中,/F是强行终止。
这里写图片描述
2.在Linux下:
netstat -pan | grep 1234
命令:netstat [-a][-e][-n][-o][-p][-b][-r][-s][-v][interval]
参数说明:
-lnp:查看系统当前监听的端口。
-a:显示所有连接和监听端口。
-n:以数字形式显示地址个端口号。
-o:显示每个连接相关的所属进程ID。
-p:在Windows系统中,该选项用于指定默认情况的子集。proto 显示 proto 指定的协议的连接;proto 可以是下列协议之一: TCP、UDP、TCPv6 或 UDPv6。
如果与 -s 选项一起使用以显示按协议统计信息,proto 可以是下列协议之一:IP、IPv6、ICMP、ICMPv6、TCP、TCPv6、UDP 或 UDPv6。
-b: 显示包含于创建每个连接或监听端口的可执行组件。在某些情况下已知可执行组件拥有多个独立组件,并且在这些情况下; 包含于创建连接或监听端口的组件序列被显示。这种情况下,可执行组件名在底部的 [] 中,顶部是其调用的组件,等等,直到 TCP/IP 部分。注意此选项
-e:显示以太网统计信息。可与-s选项组合使用。
-s:显示按协议统计信息, 默认地,显示 IP、IPv6、ICMP、ICMPv6、TCP、TCPv6、UDP 和 UDPv6 的统计信息。
-r:表示路由表。
-v:与-b选项一起使用时将显示包含于为所有可执行组件创建连接或监听端口的组件。
interval: 重新显示选定统计信息,每次显示之间暂停时间间隔(以秒计)。按 CTRL+C 停止重新显示统计信息。如果省略,netstat 显示当前配置信息(只显示一次)。
这里写图片描述

三、TCP协议

1.是一种有连接可靠的传输协议。
2.面向字节流。</

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值