2023-3-16笔记:Python多线程,Socket

多线程

threading.Thread参数:

target:线程执行方法

args:元祖形式传参

kwargs:字典格式传参

# -*- coding:utf-8 -*-

import time
import threading

def play(msg):
    while True:
        print(msg)
        time.sleep(1)

def sing(msg):
    while True:
        print(msg)
        time.sleep(1)

if __name__ == '__main__':
    play_thread = threading.Thread(target=play, args=("唱跳~~~rap",))
    sing_thread = threading.Thread(target=sing, kwargs={"msg": "唱歌~~~爱如火"})

    play_thread.start()
    sing_thread.start()

Socket

服务端

# -*- coding:utf-8 -*-

import socket

# 创建socket对象
socket_server = socket.socket()
# 绑定Ip与端口
socket_server.bind(("localhost", 8888))
# 监听端口
socket_server.listen(1)
# 获取连接对象与客户端地址信息
conn, address = socket_server.accept()

print(f"客户端信息{address}")

while True:
    # 接收消息
    data = conn.recv(1024).decode("UTF-8")
    print(f"客户端发的消息{data}")

    msg = input("请输入回复内容")

    if msg == "exit":
        break;
    # 发送消息
    conn.send(msg.encode("UTF-8"))

conn.close()
socket_server.close()

客户端

# -*- coding:utf-8 -*-

import socket

socket_client = socket.socket()
# 连接服务器
socket_client.connect(("localhost", 8888))
# 发送消息
socket_client.send("hello".encode("UTF-8"))

recv_data = socket_client.recv(1024)

print(f"服务端返回消息{recv_data.decode('UTF-8')}")

socket_client.close()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值