python网络编程 -02- 基础搭建和循环发送数据

建立基础服务端和客户端

服务端
import socket

s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind(("127.0.0.1", 50000))
s.listen(2)  # 允许挂起多少个连接
client_conn, client_addr = s.accept()
print(client_conn, client_addr)

client_conn.send("大爷,您竟来了!!!".encode())
data = client_conn.recv(1024)
print(data.decode())

client_conn.close()
s.close()

客户端
import socket

client = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
client.connect(("127.0.0.1", 50000))

data = client.recv(1024)
print(data.decode())
client.send("你说呢???".encode())

client.close()

测试


循环发送数据

 第一次接触就这么交待了,只说了一句话,感觉不够过瘾,如何实现更多的交互呢?简单,只需要让客户端不断的发,服务端不断的收就可以了,写个循环搞定

服务端
import socket

server = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
server.bind(("127.0.0.1", 50000))
server.listen(2)
print("-----开始等待客户端连接-----")
while True:
    client_conn, client_addr = server.accept()
    print(f"got a new connetcion :{client_addr}")
    while True:
        data = client_conn.recv(1024)   # 阻塞的
        if not data:  # 客户端断开了
            print(f"close a connection :{client_addr}")
            break
        print(f"from client {client_addr}:{data.decode()}")
        client_conn.send(data.decode().upper().encode())

client_conn.close()
server.close()
客户端
import socket

client = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
client.connect(("127.0.0.1", 50000))
while True:
    msg = input(">>>: your msg:").strip()
    client.send(msg.encode())
    if not msg: break

    server_response = client.recv(1024)
    print(f"from server:{server_response.decode()}")

client.close()
测试


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值