工业互联网@程序员的术与道:术——编程基本功之网络编程
文章图片
文章图片
文章图片
一、常用网络服务
- 服务软件——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)
- 比华为还难搞的国产企业,美国“实体清单”也管不住?
- 工业互联网“神助攻”,赋能山西制造业
- 每年卖出超600万!卖了一辈子线面的福建人,盯上了互联网
- 争议脉脉:在互联网公司“内幕中心”发帖还安全吗?
- 慢病|报告:2025年中国互联网慢病管理市场规模或超2300亿
- 寻找青岛“宝藏”民企:蓝海软通 从移动互联网的追随者到人工智能教育引领者
- 平台|70.5%受访者体验过互联网用户画像 感觉符合实际的不足一半
- 人民百姓.为什么成为互联网.网络平台的奴隶?
- 互联网巨头争相入场,“作业君”还是“作业帮”傻傻分不清
- 阿里入围全球最高工业奖总决赛