Python使用socket模块实现简单tcp通信

本文介绍了一个使用 Python 的 socket 库实现的简单客户端-服务器通信案例。通过该案例,读者可以了解如何创建服务器端口并监听客户端连接,以及如何在客户端与服务器之间发送和接收数据。

更多编程教程请到:菜鸟教程 https://www.piaodoo.com/

友情链接:

高州阳光论坛https://www.hnthzk.com/

正文开始:

服务器端代码:

# 再来简单的测试,这个是服务器端
import socket
import sys

BUF_SIZE = 1024
ip_port = (r"127.0.0.1", 11552)

my_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) # 先拿到套接字,指定个ipv4以及流式数据包
my_socket.bind(ip_port) # 绑定
my_socket.listen(2)

循环等待客户端连接

while True:
print(“waiting for client…”)
conn, address = my_socket.accept()
print(“connect from …” + str(address))

循环接受

while True:
ret = conn.recv(BUF_SIZE)
print(“server receive data:” + str(ret))

if "END" in str(ret):
  print("clent's gonna be offline.")
  conn.send(bytes("BYE", encoding="utf-8"))
  my_socket.close()
  sys.exit()
else:
  conn.send(bytes("server copy", encoding="utf-8"))</pre>

客户端代码:

# 这个是客户端
import socket

BUF_SIZE = 1024
ip_port = (r"127.0.0.1", 11552)

my_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
my_socket.connect(ip_port)

while True:
data = input(">>>")

my_socket.send(bytes(data, encoding=“utf-8”))
recieve_data = my_socket.recv(BUF_SIZE)
print("client receive data = " + str(recieve_data))
if “BYE” in str(recieve_data):
print(“server disconnect!”)
break

运行方法:

一个利用windows的cmd,直接输入命令:python server.py运行服务器

一个利用pycharm直接运行client.py

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持菜鸟教程www.piaodoo.com。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值