-服务器端
import socket
#建立socket连接
#socket.AF_INET(IPV4协议族)或AF_UNIX
#socket.SOCK_DGRAM(面向非链接UDP)或SOCK_STREAM(面向链接TCP)
s_sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
#地址为tuple类型
#此处用host = socket.gethostname()获取本机名代替127.0.0.1也可
addr = ("127.0.0.1", 9550)
s_sock.bind(addr)
#.recvfrom()返回的是一个tuple类型,第一个为接收内容,第二个为对方的地址
#参数值为缓冲区大小
#data是bytes格式,必须通过解码,才能得到str格式内容
js_data, df_addr = s_sock.recvfrom(500)
#解码data信息.decode()默认是utf-8编码
jm_data = js_data.decode("utf-8")
print(jm_data)
#要给对方发送的消息
fs_data = "你是谁啊?~~~"
#编码消息,接受的编码和发送的编码必须一致
bm_data = fs_data.encode("utf-8")
#发送编码
#.sendto()是UDP .send()是TCP
s_sock.sendto(bm_data, df_addr)
s_sock.close()
import socket
#建立连接
s_sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
#要发送的信息
fs_data = "你好啊~~"
#编码消息
bm_data = fs_data.encode("utf-8")
#发送信息
addr = ("127.0.0.1", 9550)
s_sock.sendto(bm_data, addr)
#接收消息
js_data, addr = s_sock.recvfrom(500)
#解码消息
jm_data = js_data.decode("utf-8")
print(jm_data)
s_sock.close()
import socket
s_sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
addr = ("127.0.0.1", 9550)
s_sock.bind(addr)
s_sock.listen()
while True:
#接收客户端建立连接的请求,并建立通讯链路
#返回值 第一个为真正建立的链路 第二个为对方地址
rel_sock, addr = s_sock.accept()
#接收信息
#500是接收的最大数据量
js_data = rel_sock.recv(500)
#解码
jm_data = js_data.decode("utf-8")
print(jm_data, addr)
#编码
fs_data = "你是谁啊? ~~"
bm_data = fs_data.encode("utf-8")
#发送
rel_sock.send(bm_data)
rel_sock.close()
import socket
s_sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
#通过服务器的IP,和服务器建立连接
fwq_addr = ("127.0.0.1", 9550)
s_sock.connect(fwq_addr)
#编码信息
fs_data = "你好啊~~"
bm_data = fs_data.encode("utf-8")
#发送信息
s_sock.send(bm_data)
#接收信息
js_data = s_sock.recv(500)
#解码信息
jm_data = js_data.decode("utf-8")
print(jm_data)
s_sock.close()
原文:https://www.cnblogs.com/TK-tank/p/12329241.html