1、What's socket? socket可以看做用户进程与操作系统内核网络协议栈的编程接口。TCP/IP协议部分已经被内核给实现了,用户只需要实现应用层,这部分程序工作在用户空间。用户空间的程序需要通过套接字来访问内核网络协议栈。 套接字属于全双工的通信,可以用于本机进程间通信,也可以用于网络 ...
分类:
其他好文 时间:
2020-05-22 12:54:11
阅读次数:
78
首先我们来定义流的概念,一个流可以是文件,socket,pipe等等可以进行I/O操作的内核对象。 不管是文件,还是套接字,还是管道,我们都可以把他们看作流。 之后我们来讨论I/O的操作,通过read,我们可以从流中读入数据;通过write,我们可以往流写入数据。现在假定一个情形,我们需要从流中读数 ...
分类:
其他好文 时间:
2020-05-22 12:32:09
阅读次数:
48
#涉及知识点tcp,套接字,多进程,mysql, #注意:mysql部分需要对应自身的库做出修改 from socket import *import timeimport os, sysimport pymysqlimport signal# 创建数据库链接db = pymysql.connect ...
分类:
编程语言 时间:
2020-05-21 11:50:21
阅读次数:
57
Python 提供了两个级别访问的网络服务。: 低级别的网络服务支持基本的 Socket,它提供了标准的 BSD Sockets API,可以访问底层操作系统Socket接口的全部方法。 高级别的网络服务模块 SocketServer, 它提供了服务器中心类,可以简化网络服务器的开发。 什么是 So ...
分类:
编程语言 时间:
2020-05-19 16:38:54
阅读次数:
69
实验三 (一)实验内容 创建服务端和客户端,服务端在特定端口监听多个客户请求。客户端和服务端通过Socket套接字(TCP/UDP)进行通信。 (二)实验要求 (1)创建服务端和客户端,选择一个通信端口,用Python语言编程实现通信演示程序; (2)要求包含文件的基本操作,例如打开和读写操作。 ( ...
分类:
编程语言 时间:
2020-05-16 12:22:02
阅读次数:
230
```因为 HTTP 协议有一个缺陷:通信只能由客户端发起,当客户端与服务器需要频繁通信时,HTTP 协议非常低效,为什么低效?因为 HTTP 接口之下是 TCP/TSL 套接字(Socket)连接。每一次请求,通常都会重新建立一次 TCP/TSL 握手;在请求结束之后,断开这个链接,也许你听说过面... ...
分类:
Web程序 时间:
2020-05-15 09:35:50
阅读次数:
60
当你想要对节点进行协调时,PAIR套接字就不怎么合适了,这也是线程和节点之间的不同之处。一般来说,节点是来去自由的,而线程则较为稳定。使用PAIR套接字时,若远程节点断开连接后又进行重连,PAIR不会予以理会。 第二个区别在于,线程的数量一般是固定的,而节点数量则会经常变化。让我们以气象信息模型为基 ...
分类:
其他好文 时间:
2020-05-14 11:01:21
阅读次数:
76
1. SO_REUSEADDR(端口重用) 服务端主动断开连接以后,需要等 2 个 MSL 以后才最终释放这个连接,重启以后要绑定同一个端口,默认情况下,操作系统的实现都会阻止新的监听套接字绑定到这个端口上。 TCP 连接由四元组唯一确定。{local-ip-address:local-port , ...
分类:
其他好文 时间:
2020-05-10 16:55:22
阅读次数:
77
一、相关函数 函数描述 int socket(int family, int type, int protocol); 位于:<sys/socket.h>;功能:创建一个网络套接字 ;返回:成功返回一个非负数的描述符,出错返回-1。 int bind(int sockfd, const struct ...
分类:
编程语言 时间:
2020-05-09 18:43:48
阅读次数:
161
1.获取所有网卡的信息 使用:getifaddrs //获取的网卡信息有限,其中包括网卡名,可根据网卡名调用ioctl来获取更详细的网卡信息 2.根据网卡名获取特定网卡的信息 使用:ioctl //描述符是套接字描述符,只适用于ipv4,不能用来获取网卡的ipv6相关信息 man netdevice ...
分类:
系统相关 时间:
2020-05-08 18:27:34
阅读次数:
98