from socket import * client=socket(AF_INET,SOCK_DGRAM) client.sendto(b'hello',('127.0.0.1',8081)) client.sendto(b'world',('127.0.0.1',8081)) client.se ...
分类:
其他好文 时间:
2019-07-28 09:18:57
阅读次数:
87
下面都是以网络读数据为例 【2阶段网络IO】 第一阶段:等待数据 wait for data 第二阶段:从内核复制数据到用户 copy data from kernel to user 下面是5种网络IO模型 【阻塞blocking IO】 两阶段全程阻塞 recvfrom -> [syscall ...
分类:
其他好文 时间:
2019-06-26 09:32:55
阅读次数:
182
1、IP头,TCP头,UDP头,MAC帧头定义 2、深入理解TCP/UDP通信原理 其内部有提到关于wireshark抓包分析工具的使用 3、udp通讯中的connect()和bind()函数 其中有介绍udp客户端使用bind函数绑定端口号 4、UDP sendto和recvfrom使用详解 内部 ...
分类:
其他好文 时间:
2019-06-10 18:33:49
阅读次数:
84
1 #服务端 2 from socket import * 3 import json 4 def recvMsg(s): 5 while True: 6 #接收用户的信息 7 data,address = s.recvfrom(1024) 8 data = json.loads(data) 9 .... ...
分类:
其他好文 时间:
2019-05-23 12:11:45
阅读次数:
93
read或write都是属于IO操作 比如socket的发送和接收就是IO操作 # 同步 提交一个任务之后要等待这个任务执行完毕# 异步 只管提交任务,不等待这个任务执行完毕就可以做其他事情# 阻塞 recv recvfrom accept# 非阻塞 # 阻塞 线程 运行状态 --> 阻塞状态 -- ...
分类:
其他好文 时间:
2019-05-21 22:50:52
阅读次数:
258
scoket()模块函数用法 服务端套接字函数 s.bind() 绑定(主机,端口号)到套接字 s.listen() 开始tcp监听 s.accept() 被动接受tcp客户的连接,(阻塞式)等待连接的到来 客户端套接字函数 s.connect() 主动初始化tcp服务器连接 s.connect_e ...
分类:
其他好文 时间:
2019-05-05 19:30:50
阅读次数:
178
基于UDP的服务端编程 1、创建套接字 sockfd = socke(AF_INET, SOCK_DGRAM) 2、绑定地址 sockfd.bind() 3、消息收发 data, addr = sockfd.recvfrom(buffersize) 功能:接受UDP消息 参数:每次最多接收消息的大小 ...
分类:
其他好文 时间:
2019-05-03 22:56:30
阅读次数:
250
void dg_cli(FILE *fp, int sockfd, const SA *pservaddr, socklen_t servlen) { int n; char sendline[MAXLINE], recvline[MAXLINE + 1]; struct timeval tv; t... ...
分类:
其他好文 时间:
2019-04-24 17:23:24
阅读次数:
168
网络编程里常听到阻塞IO、非阻塞IO、同步IO、异步IO等概念,总听别人装13不如自己下来钻研一下。不过,搞清楚这些概念之前,还得先回顾一些基础的概念。 1 基础知识回顾 注意:咱们下面说的都是Linux环境下,跟Windows不一样哈~~~ 1.1 用户空间和内核空间 现在操作系统都采用虚拟寻址, ...
分类:
其他好文 时间:
2019-04-19 01:22:46
阅读次数:
136
TCP/IP简介 虽然大家现在对互联网很熟悉,但是计算机网络的出现比互联网要早很多。 计算机为了联网,就必须规定通信协议,早期的计算机网络,都是由各厂商自己规定一套协议,IBM、Apple和Microsoft都有各自的网络协议,互不兼容,这就好比一群人有的说英语,有的说中文,有的说德语,说同一种语言 ...
分类:
编程语言 时间:
2019-03-23 13:30:06
阅读次数:
176