python写一些简单的tcp服务器和客户端

Posted mke2fs

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python写一些简单的tcp服务器和客户端相关的知识,希望对你有一定的参考价值。

代码贴上,做个记录

TcpClient

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

import socket

target_host = "127.0.0.1" #服务器端地址
target_port = 5555  #与服务器的端口号一致

while True:

    client = socket.socket(socket.AF_INET,socket.SOCK_STREAM)

    client.connect((target_host,target_port))
    #data存储要发送的数据
    data = raw_input("请输入要发送的数据:")
    #input对于接受输入是有问题的  raw_input()把所有输入都看做字符串
    if not data:
        break
    client.send(data)

    response = client.recv(1024)

    print(response)

client.close()

 TcpServer

# -*- coding:utf-8 -*-
import socket
import threading

bind_ip = "0.0.0.0"  #监听所有可用的接口
bind_port = 5555  #非特权端口号都可以使用

#AF_INET:使用标准的IPv4地址或主机名,SOCK_STREAM:说明这是一个TCP服务器
server = socket.socket(socket.AF_INET,socket.SOCK_STREAM)

#服务器监听的ip和端口号
server.bind((bind_ip,bind_port))

print("[*] Listening on %s:%d" % (bind_ip,bind_port))

#最大连接数
server.listen(5)

#客户处理线程
def handle_client(client_socket):

    request = client_socket.recv(1024)

    print("[*] Received: %s" % request)
    #向客户端返回数据
    client_socket.send("滴,打卡成功!")

    client_socket.close()

while True:

    #等待客户连接,连接成功后,将socket对象保存到client,将细节数据等保存到addr
    client,addr = server.accept()

    print("[*] Acception connection from %s:%d" % (addr[0],addr[1]))

    client_handler = threading.Thread(target=handle_client,args=(client,))
    client_handler.start()

客户端发送

 技术图片

服务端接收数据

技术图片

 

以上是关于python写一些简单的tcp服务器和客户端的主要内容,如果未能解决你的问题,请参考以下文章

python 批量执行脚本(服务端和客户端建立TCP连接)

Jmeter:使用TCP取样器与socket接口进行简单通信

python编程系列---tcp服务端的简单实现

Java中使用Socket连接判断Inputstream结束,java tcp socket服务端,python tcp socket客户端

python twisted 写tcp 客户端 服务器 为啥self.transport.write传送多数据的时候,接受到是一起接受呢

python tcp客户端服务器闪退的问题(初级)