(6)tcp-socket

时间:2023-03-09 13:09:04
(6)tcp-socket
(1)client端口:

import socket
# 产生一个socket对象
sk = socket.socket()
# 建立连接
sk.connect( ("127.0.0.1",9000) )
# 发送消息(发送的数据是二进制字节流)
sk.send("早".encode("utf-8"))
# 等待接收消息 (发送完之后,程序添加阻塞,最大字节数1024,等待接收)
res = sk.recv(1024)
print(res.decode("utf-8"))
# 关闭连接
sk.close() (2)server 端口:
import socket

# 创建一个socket对象
sk = socket.socket()
print(sk,type(sk))
# 绑定ip和端口 (注册网络)
sk.bind( ("127.0.0.1",9000) ) # 127.0.0.1 默认代表本机ip
# 开启监听 (等待别人链接我)
sk.listen() # 程序加阻塞,直到tcp协议的三次握手建立完毕,执行下面代码
conn,addr = sk.accept()
print(conn,addr)
# 最大接受1024个字节 等待数据时,程序加了阻塞,收到数据之后,程序在向下执行
msg = conn.recv(1024)
print(msg.decode("utf-8")) # send 负责发送,只能发送二进制的字节流
conn.send("早呀早".encode("utf-8"))
# 关闭此次连接 [走四次挥手]
conn.close() # 关闭socket对象 [退还占用的端口]
sk.close()