基于tcp协议通信的套接字

匿名 (未验证) 提交于 2019-12-02 23:52:01

以打电话举例:

import socket  #1.买手机 phone=socket.socket(socket.AF_INET,socket.SOCK_STREAM) #SOCK_STEAM=>TCP流式协议,  #2.拨号 phone.connect(('127.0.0.1',8080))  #3.发\收消息 phone.send('hello'.encode('utf-8')) # 只能发bytes类型 data=phone.recv(1024) print('收到服务端的消息: ',data)  #4.挂电话链接 phone.close()
客户端
import socket  #1.买手机 phone=socket.socket(socket.AF_INET,socket.SOCK_STREAM) #SOCK_STEAM=>TCP流式协议, print(phone) #是用来接收链接请求,从而建立链接的 # 结果:<socket.socket fd=268, family=AddressFamily.AF_INET, type=SocketKind.SOCK_STREAM, proto=0> #2.插手机卡 phone.bind(('127.0.0.1',8080)) #0-65535  #3.开机 phone.listen(5) # 同一时刻最大请求数为5个  print('start....') #4.等待电话请求 conn,client_addr=phone.accept() #(双向链接的套接字对象,存放客户端ip和端口的小元组) print(conn) # conn代表双向链接,用来收发消息 #结果:<socket.socket fd=304, family=AddressFamily.AF_INET, type=SocketKind.SOCK_STREAM, proto=0, laddr=('127.0.0.1', 8080), raddr=('127.0.0.1', 3482)> print(client_addr) # 结果:('127.0.0.1', 3482)  #5.收\发消息 data=conn.recv(1024) #1024接收的最大字节数bytes print('收到客户的数据',data) conn.send(data.upper())  #6.挂电话链接 conn.close()  #7.关机 phone.close()
服务端

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!