• 周五. 8月 19th, 2022

5G编程聚合网

5G时代下一个聚合的编程学习网

热门标签

10.1 socket 编程

admin

11月 28, 2021

基础通信

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"))
作者:zy7y
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须在文章页面给出原文链接,否则保留追究法律责任的权利。

发表回复

您的电子邮箱地址不会被公开。