2018-07-22-Python全栈开发day29-异常处理与网络基础-part2-网络基础

1.socket

  socket运行于传输层和应用层之间,其主要协议有TCP和UDP,可以将tcp和udp协议封装好,只要符合socket,就肯定符合tcp和udp协议,无需深入的了解tcp和udp

2.socket的类型

  目前主要使用的是AF_INET,基于网络类型的套接字

3.基于TCP协议的套接字流程

  

4.TCP协议的三次握手和四次挥手

5.基于TCP协议编写一个服务端和客户端

  5.1 服务端

from socket import *
ip_port=('127.0.0.1',8080)
buffer_size=5


tcp_server=socket(AF_INET,SOCK_STREAM)#建立一个socket对象
tcp_server.bind(ip_port)#绑定ip和端口,确立唯一的地址
tcp_server.listen(buffer_size)#持续监听


conn,addr=tcp_server.accept()#conn为和客户端建立的链接,addr为客户端的地址
data=conn.recv(1024)#一次性最多从缓存区里拿1024字节的数据
print(data)
conn.send(data.upper())
conn.close()
tcp_server.close()

5.2客户端

from socket import *
ip_port=('127.0.0.1',8080)
buffer_size=5


tcp_client=socket(AF_INET,SOCK_STREAM)#建立一个socket对象

tcp_client.connect(ip_port)#连接服务端

a=input('please input something')
tcp_client.send(a.encode('utf-8'))#个人理解,凡是自己手动输入的东西,都需要进行编码和解码,客服端和服务端必有一个
data=tcp_client.recv(1024)
print(data)
tcp_client.close()

  

猜你喜欢

转载自www.cnblogs.com/hai125698/p/9351077.html
今日推荐