10.1 socket 编程

基础通信

clinet客户端

#!/usr/bin/env/ python3
# -*- coding:utf-8 -*-
"""
@Project: books
@File  :client.py
@Author:zy7y
@Date  :2021/8/2 10:27
@Desc  : socket 和 Tcp、Udp 打交道
socket  客户端
"""

import socket
client = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 连接服务端,(IP地址,端口)
client.connect(("127.0.0.1", 8000))
# 发送给服务端
client.send("arrds".encode(encoding="utf-8"))
# 接收服务端返回数据
data = client.recv(1024)

print(data.decode("utf-8"))

# 关闭
client.close()

server 服务端 - 单次通信

#!/usr/bin/env/ python3
# -*- coding:utf-8 -*-
"""
@Project: books
@File  :server.py
@Author:zy7y
@Date  :2021/8/2 10:27
@Desc  :socket  服务端
"""
import socket

# 类型, 协议,
server = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 绑定地址,端口
server.bind(("0.0.0.0", 8000))
# 监听
server.listen()

# 建立客户端连接,结构得到一个socket 实例用来接收或发送数据
sock, addr = server.accept()

print(addr)
# 发送数据给 客户端
sock.send("server...".encode("utf-8"))

# 获取数据
data = sock.recv(1024)

print(data.decode(encoding="utf-8"))

单人通信

client

#!/usr/bin/env/ python3
# -*- coding:utf-8 -*-
"""
@Project: books
@File  :client.py
@Author:zy7y
@Date  :2021/8/2 10:27
@Desc  : socket 和 Tcp、Udp 打交道
socket  客户端
"""

import socket
client = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 连接服务端,(IP地址,端口)
client.connect(("127.0.0.1", 8000))

while True:
    re_data = input()
    # 发送给服务端
    client.send(re_data.encode(encoding="utf-8"))
    # 接收服务端返回数据
    data = client.recv(1024)

    print(f"服务端说: {data}")

server

#!/usr/bin/env/ python3
# -*- coding:utf-8 -*-
"""
@Project: books
@File  :server.py
@Author:zy7y
@Date  :2021/8/2 10:27
@Desc  :socket  服务端
"""
import socket

# 类型, 协议,
server = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 绑定地址,端口
server.bind(("0.0.0.0", 8000))
# 监听
server.listen()
# 建立客户端连接,结构得到一个socket 实例用来接收或发送数据
sock, addr = server.accept()

# 服服端一直接收
while True:

    # 获取数据
    data = sock.recv(1024)

    print(f"客户端说: {data}")

    re_data = input()
    # 发送数据给 客户端
    sock.send(re_data.encode("utf-8"))

10.1 socket 编程

上一篇:mybaits-plus 一些写法


下一篇:Hudi自带工具DeltaStreamer的实时入湖最佳实践