【python--教程】python编写tcp客户端

本文介绍Python中使用socket模块进行网络编程的基本步骤,包括创建socket对象、连接服务器、发送及接收数据等操作,并提供了一个简单的TCP客户端实现示例。

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

python.socket是python自带的函数包
通过socket可以编写发送自定义的网络数据包

常见内容讲解:
1。创建socket对象

client = socket.socket()  
#创建一个socket对象,
#当参数为空时则默认创建ipv4的tcp对象

2。连接服务器

client.connect(("192.168.0.1",9999))
#使用上面定义的的ipv4 tcp对象连接到192.168.0.1的9999端口,
#注意.connect的参数为元组形式的数据

3。发送数据

client.send("你好".encode("gbk"))
#发送数据到当前连接的服务器,需要提前建立连接
#.send()的参数为二进制数据,我这里时用过.encode("gbk"),将字符串“你好”转化为二进制数据的

4。接收数据

data=client.recv(1024)
#接收来自当前建立连接的服务器的数据,并设置最大缓冲区为1024,
#注意.recv(1024)返回的是二进制数据,而且recv默认在没接收到数据时时阻塞的!

5。断开连接

client.close()
#断开当前连接的服务器

学会了这些基础操作,我们来动手做一个tcp客户端吧!

#coding:utf-8
#maker:猫先生的早茶
#make time:2019-4-1

import socket

class TCP_client():
    def  __init__(self):
        #创建客户端
        self.client = socket.socket()
        #将客户端连接到指定服务器的指定端口
        server_addr = input("请输入服务器的地址:")
        server_port = int(input("请输入服务器的端口号:"))
        self.client.connect((server_addr,server_port))

    def client_recv(self):
        #接收数据并检查数据是否为空,不为空时则打印数据的内容
        data = self.client.recv(1024)
        if data:
            print ("收到消息:{}".format(data.decode("gbk")))

    def client_send(self):
        #创建循环,发送消息到服务器,并激活接收服务器消息的函数
        while True:
            msg = input("请输入要发送的消息:")
            self.client.send(msg.encode("gbk"))
            self.client_recv()


#创建一个TCP_client实例,并且调用实例的client_send方法   
tcp_client = TCP_client()
tcp_client.client_send()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值