工业互联网@程序员的术与道:术——编程基本功之网络编程
文章图片
文章图片
文章图片
一、常用网络服务
- 服务软件——DHCP
- 服务器——dhcpd
- 邮件发送服务器——sendmail
- 邮件列表服务器——mailman
- 接收邮件的服务器——pop3web
- 站点——apache/nginx
- 防火墙服务——iptables
- 【工业互联网@程序员的术与道:术——编程基本功之网络编程】工具配置 ——netfilter
二、 网路诊断逐步检查网络的各个层次:物理连接、链路层、网络层直到应用层 , 熟悉使用各种如下的工具 , 包括
- ethereal/tcpdump
- hping
- nmap
- netstat
- netpipe
- netperf
- vnstat
- ntop
3.1 linux网络编程步骤
3.1.1 创建套接字
通过 ip地址 可以确定目标主机 , 通过端口号可以将数据准确地交给目标程序 , 而 ip地址:端口号 就是我们所说的 套接字 。
套接字的创建通过函数 socket, 该函数需要包含头文件 <sys/types.h> 和 <sys/socket.h>, 该函数的声明为:
3.1.2 TCP连接与通信
无论是tcp还是udp , 第一步都需要创建套接字 , 而之后的操作差异较大 , TCP在数据收发前 , 需要建立连接 , 而UDP不需要建立连接就可以收发数据 。
- 建立TCP SERVER
b.使用 bind() 系统调用将所创建的套接字绑定到指定的端口上;
c.通过 listen() 将进行端口绑定的套接字进行端口侦听 , 使客户端能够连接;
d.通过 accept() 接受客户端的连接 , 该函数将会被阻塞 , 直至客户端连接上来;
e.数据收发 read / write;
会使用到的结构体:
**注:**如果在bind绑定时 , 指定端口0 , 意味着由系统随机选择一个可用端口来绑定 。
- 建立TCP client
b.通过 connect() 系统调用将创建的套接字连接到TCP服务器上;
c.数据收发;数据收发的方式有很多 , 其中最简单的方式是使用系统调用 read() 和 write() 进行数据收发;
3.1.3 UDP连接与通信
DP并不是基于连接的数据通讯 , 也就是说UDP server 并不通过accept接收客户端的连接 , 而UDP client 也不通过 connect 连接到服务器 。
- UDP server
b.绑定端口 (bind)
c.数据通讯 (读read / 写write)
推荐阅读
- 国家工业互联网标识解析二级节点(威海)上线
- 36岁,我在大厂,和先生养育“互联网孤儿”
- 比起007,996真的是福报!互联网大厂为什么加班都这么狠?
- 程序员为教师妻子开发应用:将iPhone变成文档摄像头
- 用户|2020互联网「年终盘点」之盘点:百度最泪目,趣头条接地气
- 水务|怀化电信助力“水+互联网”智慧水务
- 内蒙古首批两家互联网医院获批上线
- 2021年互联网巨头第一仗!飞书开撕微信,阿里华为百度全都入局
- 全真互联网,产业互联网和消费互联网的融合
- 我国首次给四个新职业定标