day29——socket套接字(少量不全)

2022-12-03,,

day29

socket套接字

socket是处于应用层与传输层之间的抽象层,他是一组操作起来非常简单的接口(接受数据)此接口接受数据之后,交由操作系统.

为什么存在socket抽象层?

如果直接与操作系统数据交互非常麻烦,繁琐,socket对这些繁琐的操作高度的封装,简化.

socket在python中就是一个模块.

基于TCP协议的socket简单通信

服务端
import socket

# 买电话
phone = socket.socket(socket.AF_INET,socket.SOCK_STREAM) # 默认基于TCP协议的socket # 绑定电话卡
phone.bind(('192.168.14.198',8848)) # 绑定IP地址和端口 # 开机监听
phone.listen(5)
print(111) # 等待连接
conn, addr = phone.accept() # 阻塞
print(conn,addr) from_client_data = conn.recv(1024) # 至多接受1024个字节 阻塞
print(f'来自客户端{addr[0]}的消息:{from_client_data.decode("utf-8")}') to_client_data = input('>>>')
conn.send(to_client_data.encode('utf-8'))
conn.close()
phone.close()
客户端
import socket

# 买电话
phone = socket.socket(socket.AF_INET,socket.SOCK_STREAM) # 默认基于TCP协议的socket # 拨号打电话
phone.connect(('127.0.0.1',8848))
data = input('请输入>>>') phone.send(data.encode('utf-8'))
from_server_data = phone.recv(1024)
print(f'来自服务端的消息:{from_server_data}') # 关闭电话
phone.close()

基于TCP协议的socket通信循环

day29——socket套接字(少量不全)的相关教程结束。

《day29——socket套接字(少量不全).doc》

下载本文的Word格式文档,以方便收藏与打印。