1625-5 王子昂 总结《2017年2月3日》 【连续第126天总结】
A. python 网络编程 60%
B. 在python中,主要使用socket模块来进行网络相关的编程。socket()函数被用来创建套接字,同时套接字也有自己的一套函数来提供基于套接字的网络通信。
socket(sockey_family, socket_type, protocol=0)
family可以填AF_VNIX和AF_INET,分别是基于文件和基于网络型。
type可以填SOCK_STREAM和SOCK_DGRAM,分别是面向连接和无连接。
protocol一般不填,默认值为0
创建一个TCP/IP的套接字,应该:
tcpSock=socket(socket.AF_INET,socket.SOCK_STREAM)
TCP服务器的创建流程
ss=socket()
ss.bind()
ss.listen()
服务器循环
cs=ss.accept()
通信循环
cs.recv()/cs.send()
cs.close()
ss.close()
由于TCP服务器是一个面向连接的通信系统,因此在开始工作之前需要先将设置完成。服务器要处在某个端口上等待请求,必须监听连接。默认情况下accept()函数是阻塞式的,即程序在连接到来之前会处于挂起状态。
一旦接受到一个链接,accept()函数就会返回一个单独的客户端套接字用于后续的通信。这样可以空出最初的服务器套接字来等待下一个请求。
TCP客户端的创建流程
cs=socket()
cs.connect()
通信循环
cs.send()/cs.recv()
cs.close()
客户端的循环在两种情况下结束。用户没有输入任何内容,和服务器由于某种原因退出,导致recv()函数失败。
很显然,如果先运行客户端,由于没有服务器在等待请求,客户端没办法做连接。服务器被动地等待连接,客户端则主动地创建连接。
因此,要先开服务器再开客户端。
UDP服务器流程
ss=socket()
ss.bind()
服务器循环
cs=ss.recvfrom()/ss.sendto(_
ss.close()
由于数据报套接字是无连接的,因此不需要通讯连接来转接,只需要接收或者返回消息就可以了。
UDP客户端流程
cs=socket()
通讯循环
cs.sendto()/cs.recvfrom()
cs.close()
C.明日计划
python网络教程
windows核心编程
A. python 网络编程 60%
B. 在python中,主要使用socket模块来进行网络相关的编程。socket()函数被用来创建套接字,同时套接字也有自己的一套函数来提供基于套接字的网络通信。
socket(sockey_family, socket_type, protocol=0)
family可以填AF_VNIX和AF_INET,分别是基于文件和基于网络型。
type可以填SOCK_STREAM和SOCK_DGRAM,分别是面向连接和无连接。
protocol一般不填,默认值为0
创建一个TCP/IP的套接字,应该:
tcpSock=socket(socket.AF_INET,socket.SOCK_STREAM)
TCP服务器的创建流程
ss=socket()
ss.bind()
ss.listen()
服务器循环
cs=ss.accept()
通信循环
cs.recv()/cs.send()
cs.close()
ss.close()
由于TCP服务器是一个面向连接的通信系统,因此在开始工作之前需要先将设置完成。服务器要处在某个端口上等待请求,必须监听连接。默认情况下accept()函数是阻塞式的,即程序在连接到来之前会处于挂起状态。
一旦接受到一个链接,accept()函数就会返回一个单独的客户端套接字用于后续的通信。这样可以空出最初的服务器套接字来等待下一个请求。
TCP客户端的创建流程
cs=socket()
cs.connect()
通信循环
cs.send()/cs.recv()
cs.close()
客户端的循环在两种情况下结束。用户没有输入任何内容,和服务器由于某种原因退出,导致recv()函数失败。
很显然,如果先运行客户端,由于没有服务器在等待请求,客户端没办法做连接。服务器被动地等待连接,客户端则主动地创建连接。
因此,要先开服务器再开客户端。
UDP服务器流程
ss=socket()
ss.bind()
服务器循环
cs=ss.recvfrom()/ss.sendto(_
ss.close()
由于数据报套接字是无连接的,因此不需要通讯连接来转接,只需要接收或者返回消息就可以了。
UDP客户端流程
cs=socket()
通讯循环
cs.sendto()/cs.recvfrom()
cs.close()
C.明日计划
python网络教程
windows核心编程