2022年Linux网络编程 .pdf
《2022年Linux网络编程 .pdf》由会员分享,可在线阅读,更多相关《2022年Linux网络编程 .pdf(35页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、linux网络知识1.linux 网络知识介绍1.1 客户端程序和服务端程序网络程序和普通程序的最大区别就是网络程序分为两个部分:客户端和服务器端。网络程序是服务器端先启动,等待客户端的连接。一般服务器端绑定在一个端口进行监听,直到有一个客户端发来了请求。1.2 常用的命令由于网络程序由两个部分组成,所以调试起来比较麻烦,所以, 我们先来了解一下常用的命令。netstat 此命令用来显示网络的连接、路由表和接口统计等网络信息。Netstat有许多选项,最常用的是 -an 用来显示详细的网络状态。telnet telnet 是一个远程控制程序,但是我们可以用它来调试我们的服务器端程序。比如我们的
2、服务器在监听8888 端口,我们可以用telnet localhost 8888 来查看服务器的状况。1.3TCP/UDP介绍TCP (Tranfer Control Protocal)传输控制协议是一个面向连接的协议,当使用这个协议时,网络可以保证客户端和服务器端的连接是可靠的、安全的。UDP(User Datagram Protocal )用户数据报协议是一种非面向连接的协议,它不保证网络程序的连接是可靠的,所以,一般的网络程序都使用TCP协议。2.初等网络函数介绍Linux系统是通过提供套接字(socket)来进行网络编程的.网络程序通过socket和其它几个函数的调用 ,会返回一个通讯
3、的文件描述符,我们可以将这个描述符看成普通的文件的描述符来操作 ,这就是 linux 的设备无关性的好处 .我们可以通过向描述符读写操作实现网络之间的数据交流 . 2.1 socket int socket(int domain, int type,int protocol) domain: 说明我们网络程序所在的主机采用的通讯协族(AF_UNIX 和AF_INET 等 ). AF_UNIX只能够用于单一的Unix 系统进程间通信,而 AF_INET是针对 Internet 的,因而可以允许在远程主机之间通信 (当我们man socket 时发现domain 可选项是PF_*而不是AF_*,因
4、为 glibc 是 posix的实现所以用 PF代替了 AF,不过我们都可以使用的). type:我们网络程序所采用的通讯协议(SOCK_STREAM,SOCK_DGRAM等) SOCK_STREAM表明我们用的是TCP协议 ,这样会提供按顺序的,可靠 ,双向 ,面向连接的比特流. SOCK_DGRAM 表明我们用的是UDP协议 ,这样只会提供定长的,不可靠 ,无连接的通信. protocol: 由于我们指定了type, 所以这个地方我们一般只要用0 来代替就可以了socket 为网络通讯做基本的准备.成功时返回文件描述符,失败时返回 -1,看 errno 可知道出错的详细情况 . 名师资料总
5、结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 35 页 - - - - - - - - - linux网络知识1.linux 网络知识介绍1.1 客户端程序和服务端程序网络程序和普通程序的最大区别就是网络程序分为两个部分:客户端和服务器端。网络程序是服务器端先启动,等待客户端的连接。一般服务器端绑定在一个端口进行监听,直到有一个客户端发来了请求。1.2 常用的命令由于网络程序由两个部分组成,所以调试起来比较麻烦,所以, 我们先来了解一下常用的命令。netstat 此命令用来显示网
6、络的连接、路由表和接口统计等网络信息。Netstat有许多选项,最常用的是 -an 用来显示详细的网络状态。telnet telnet 是一个远程控制程序,但是我们可以用它来调试我们的服务器端程序。比如我们的服务器在监听8888 端口,我们可以用telnet localhost 8888 来查看服务器的状况。1.3TCP/UDP介绍TCP (Tranfer Control Protocal)传输控制协议是一个面向连接的协议,当使用这个协议时,网络可以保证客户端和服务器端的连接是可靠的、安全的。UDP(User Datagram Protocal )用户数据报协议是一种非面向连接的协议,它不保证
7、网络程序的连接是可靠的,所以,一般的网络程序都使用TCP协议。2.初等网络函数介绍Linux系统是通过提供套接字(socket)来进行网络编程的.网络程序通过socket和其它几个函数的调用 ,会返回一个通讯的文件描述符,我们可以将这个描述符看成普通的文件的描述符来操作 ,这就是 linux 的设备无关性的好处 .我们可以通过向描述符读写操作实现网络之间的数据交流 . 2.1 socket int socket(int domain, int type,int protocol) domain: 说明我们网络程序所在的主机采用的通讯协族(AF_UNIX 和AF_INET 等 ). AF_UNI
8、X只能够用于单一的Unix 系统进程间通信,而 AF_INET是针对 Internet 的,因而可以允许在远程主机之间通信 (当我们man socket 时发现domain 可选项是PF_*而不是AF_*,因为 glibc 是 posix的实现所以用 PF代替了 AF,不过我们都可以使用的). type:我们网络程序所采用的通讯协议(SOCK_STREAM,SOCK_DGRAM等) SOCK_STREAM表明我们用的是TCP协议 ,这样会提供按顺序的,可靠 ,双向 ,面向连接的比特流. SOCK_DGRAM 表明我们用的是UDP协议 ,这样只会提供定长的,不可靠 ,无连接的通信. protoc
9、ol: 由于我们指定了type, 所以这个地方我们一般只要用0 来代替就可以了socket 为网络通讯做基本的准备.成功时返回文件描述符,失败时返回 -1,看 errno 可知道出错的详细情况 . 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 35 页 - - - - - - - - - linux网络知识1.linux 网络知识介绍1.1 客户端程序和服务端程序网络程序和普通程序的最大区别就是网络程序分为两个部分:客户端和服务器端。网络程序是服务器端先启动,等待客户端
10、的连接。一般服务器端绑定在一个端口进行监听,直到有一个客户端发来了请求。1.2 常用的命令由于网络程序由两个部分组成,所以调试起来比较麻烦,所以, 我们先来了解一下常用的命令。netstat 此命令用来显示网络的连接、路由表和接口统计等网络信息。Netstat有许多选项,最常用的是 -an 用来显示详细的网络状态。telnet telnet 是一个远程控制程序,但是我们可以用它来调试我们的服务器端程序。比如我们的服务器在监听8888 端口,我们可以用telnet localhost 8888 来查看服务器的状况。1.3TCP/UDP介绍TCP (Tranfer Control Protocal
11、)传输控制协议是一个面向连接的协议,当使用这个协议时,网络可以保证客户端和服务器端的连接是可靠的、安全的。UDP(User Datagram Protocal )用户数据报协议是一种非面向连接的协议,它不保证网络程序的连接是可靠的,所以,一般的网络程序都使用TCP协议。2.初等网络函数介绍Linux系统是通过提供套接字(socket)来进行网络编程的.网络程序通过socket和其它几个函数的调用 ,会返回一个通讯的文件描述符,我们可以将这个描述符看成普通的文件的描述符来操作 ,这就是 linux 的设备无关性的好处 .我们可以通过向描述符读写操作实现网络之间的数据交流 . 2.1 socket
12、 int socket(int domain, int type,int protocol) domain: 说明我们网络程序所在的主机采用的通讯协族(AF_UNIX 和AF_INET 等 ). AF_UNIX只能够用于单一的Unix 系统进程间通信,而 AF_INET是针对 Internet 的,因而可以允许在远程主机之间通信 (当我们man socket 时发现domain 可选项是PF_*而不是AF_*,因为 glibc 是 posix的实现所以用 PF代替了 AF,不过我们都可以使用的). type:我们网络程序所采用的通讯协议(SOCK_STREAM,SOCK_DGRAM等) SOC
13、K_STREAM表明我们用的是TCP协议 ,这样会提供按顺序的,可靠 ,双向 ,面向连接的比特流. SOCK_DGRAM 表明我们用的是UDP协议 ,这样只会提供定长的,不可靠 ,无连接的通信. protocol: 由于我们指定了type, 所以这个地方我们一般只要用0 来代替就可以了socket 为网络通讯做基本的准备.成功时返回文件描述符,失败时返回 -1,看 errno 可知道出错的详细情况 . 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 35 页 - - -
14、- - - - - - linux网络知识1.linux 网络知识介绍1.1 客户端程序和服务端程序网络程序和普通程序的最大区别就是网络程序分为两个部分:客户端和服务器端。网络程序是服务器端先启动,等待客户端的连接。一般服务器端绑定在一个端口进行监听,直到有一个客户端发来了请求。1.2 常用的命令由于网络程序由两个部分组成,所以调试起来比较麻烦,所以, 我们先来了解一下常用的命令。netstat 此命令用来显示网络的连接、路由表和接口统计等网络信息。Netstat有许多选项,最常用的是 -an 用来显示详细的网络状态。telnet telnet 是一个远程控制程序,但是我们可以用它来调试我们的
15、服务器端程序。比如我们的服务器在监听8888 端口,我们可以用telnet localhost 8888 来查看服务器的状况。1.3TCP/UDP介绍TCP (Tranfer Control Protocal)传输控制协议是一个面向连接的协议,当使用这个协议时,网络可以保证客户端和服务器端的连接是可靠的、安全的。UDP(User Datagram Protocal )用户数据报协议是一种非面向连接的协议,它不保证网络程序的连接是可靠的,所以,一般的网络程序都使用TCP协议。2.初等网络函数介绍Linux系统是通过提供套接字(socket)来进行网络编程的.网络程序通过socket和其它几个函数
16、的调用 ,会返回一个通讯的文件描述符,我们可以将这个描述符看成普通的文件的描述符来操作 ,这就是 linux 的设备无关性的好处 .我们可以通过向描述符读写操作实现网络之间的数据交流 . 2.1 socket int socket(int domain, int type,int protocol) domain: 说明我们网络程序所在的主机采用的通讯协族(AF_UNIX 和AF_INET 等 ). AF_UNIX只能够用于单一的Unix 系统进程间通信,而 AF_INET是针对 Internet 的,因而可以允许在远程主机之间通信 (当我们man socket 时发现domain 可选项是P
17、F_*而不是AF_*,因为 glibc 是 posix的实现所以用 PF代替了 AF,不过我们都可以使用的). type:我们网络程序所采用的通讯协议(SOCK_STREAM,SOCK_DGRAM等) SOCK_STREAM表明我们用的是TCP协议 ,这样会提供按顺序的,可靠 ,双向 ,面向连接的比特流. SOCK_DGRAM 表明我们用的是UDP协议 ,这样只会提供定长的,不可靠 ,无连接的通信. protocol: 由于我们指定了type, 所以这个地方我们一般只要用0 来代替就可以了socket 为网络通讯做基本的准备.成功时返回文件描述符,失败时返回 -1,看 errno 可知道出错的
18、详细情况 . 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 35 页 - - - - - - - - - linux网络知识1.linux 网络知识介绍1.1 客户端程序和服务端程序网络程序和普通程序的最大区别就是网络程序分为两个部分:客户端和服务器端。网络程序是服务器端先启动,等待客户端的连接。一般服务器端绑定在一个端口进行监听,直到有一个客户端发来了请求。1.2 常用的命令由于网络程序由两个部分组成,所以调试起来比较麻烦,所以, 我们先来了解一下常用的命令。nets
19、tat 此命令用来显示网络的连接、路由表和接口统计等网络信息。Netstat有许多选项,最常用的是 -an 用来显示详细的网络状态。telnet telnet 是一个远程控制程序,但是我们可以用它来调试我们的服务器端程序。比如我们的服务器在监听8888 端口,我们可以用telnet localhost 8888 来查看服务器的状况。1.3TCP/UDP介绍TCP (Tranfer Control Protocal)传输控制协议是一个面向连接的协议,当使用这个协议时,网络可以保证客户端和服务器端的连接是可靠的、安全的。UDP(User Datagram Protocal )用户数据报协议是一种非
20、面向连接的协议,它不保证网络程序的连接是可靠的,所以,一般的网络程序都使用TCP协议。2.初等网络函数介绍Linux系统是通过提供套接字(socket)来进行网络编程的.网络程序通过socket和其它几个函数的调用 ,会返回一个通讯的文件描述符,我们可以将这个描述符看成普通的文件的描述符来操作 ,这就是 linux 的设备无关性的好处 .我们可以通过向描述符读写操作实现网络之间的数据交流 . 2.1 socket int socket(int domain, int type,int protocol) domain: 说明我们网络程序所在的主机采用的通讯协族(AF_UNIX 和AF_INET
21、 等 ). AF_UNIX只能够用于单一的Unix 系统进程间通信,而 AF_INET是针对 Internet 的,因而可以允许在远程主机之间通信 (当我们man socket 时发现domain 可选项是PF_*而不是AF_*,因为 glibc 是 posix的实现所以用 PF代替了 AF,不过我们都可以使用的). type:我们网络程序所采用的通讯协议(SOCK_STREAM,SOCK_DGRAM等) SOCK_STREAM表明我们用的是TCP协议 ,这样会提供按顺序的,可靠 ,双向 ,面向连接的比特流. SOCK_DGRAM 表明我们用的是UDP协议 ,这样只会提供定长的,不可靠 ,无连
22、接的通信. protocol: 由于我们指定了type, 所以这个地方我们一般只要用0 来代替就可以了socket 为网络通讯做基本的准备.成功时返回文件描述符,失败时返回 -1,看 errno 可知道出错的详细情况 . 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 35 页 - - - - - - - - - linux网络知识1.linux 网络知识介绍1.1 客户端程序和服务端程序网络程序和普通程序的最大区别就是网络程序分为两个部分:客户端和服务器端。网络程序是服
23、务器端先启动,等待客户端的连接。一般服务器端绑定在一个端口进行监听,直到有一个客户端发来了请求。1.2 常用的命令由于网络程序由两个部分组成,所以调试起来比较麻烦,所以, 我们先来了解一下常用的命令。netstat 此命令用来显示网络的连接、路由表和接口统计等网络信息。Netstat有许多选项,最常用的是 -an 用来显示详细的网络状态。telnet telnet 是一个远程控制程序,但是我们可以用它来调试我们的服务器端程序。比如我们的服务器在监听8888 端口,我们可以用telnet localhost 8888 来查看服务器的状况。1.3TCP/UDP介绍TCP (Tranfer Cont
24、rol Protocal)传输控制协议是一个面向连接的协议,当使用这个协议时,网络可以保证客户端和服务器端的连接是可靠的、安全的。UDP(User Datagram Protocal )用户数据报协议是一种非面向连接的协议,它不保证网络程序的连接是可靠的,所以,一般的网络程序都使用TCP协议。2.初等网络函数介绍Linux系统是通过提供套接字(socket)来进行网络编程的.网络程序通过socket和其它几个函数的调用 ,会返回一个通讯的文件描述符,我们可以将这个描述符看成普通的文件的描述符来操作 ,这就是 linux 的设备无关性的好处 .我们可以通过向描述符读写操作实现网络之间的数据交流
25、. 2.1 socket int socket(int domain, int type,int protocol) domain: 说明我们网络程序所在的主机采用的通讯协族(AF_UNIX 和AF_INET 等 ). AF_UNIX只能够用于单一的Unix 系统进程间通信,而 AF_INET是针对 Internet 的,因而可以允许在远程主机之间通信 (当我们man socket 时发现domain 可选项是PF_*而不是AF_*,因为 glibc 是 posix的实现所以用 PF代替了 AF,不过我们都可以使用的). type:我们网络程序所采用的通讯协议(SOCK_STREAM,SOCK
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年Linux网络编程 2022 Linux 网络 编程
限制150内