通过python实现tcp通信

本文详细介绍如何使用Python实现两台PC间的TCP通信,包括客户端和服务器端的代码实现。需注意,两台PC必须在同一网段才能成功连接。此方法允许基本的双向消息传递,但存在一方发送完毕后另一方才能回复的限制。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

如何通过Python实现PC间TCP通信

一、Client端

# -*- encoding: utf-8 -*-
import socket
import sys
IP = '192.168.43.38'  # 填写服务器端的IP地址
port = 40005  # 端口号必须一致
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
try:
    s.connect((IP, port))
except Exception as e:
    print('server not find or not open')
    sys.exit()
while True:
    trigger = input("send:")
    s.sendall(trigger.encode())
    data = s.recv(1024)
    data = data.decode()
    print('recieved:', data)
    if trigger.lower() == '1':  # 发送1结束连接
        break
s.close()

二、Server端

import socket
 
host = "192.168.43.38"  # 服务器端可以写"localhost",可以为空字符串"",也为本机IP地址
port = 40005  # 端口号
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind((host, port))
s.listen(1)
conn, addr = s.accept()
print('connected with', addr)
 
while True:
    data = conn.recv(1024)
    data = data.decode() 
    if not data:
        break
    print('receive:', data)
    send = input('send:') 
    conn.sendall(send.encode())  
 
conn.close()
s.close()

注意!两台PC必须在同一网段,才能实现连接,进行tcp通信!
最后,我用eclipse和idle分别运行,进行了一小段通信。但这种通信有一个弊端,就是只能等对方发送完消息之后,才能再回复!
由idle先发送信息,eclipse接收后再发送。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值