• Python学习-15.Python的中的套接字socket


    Python应用最广泛的要数web方面了。因此,socket显得十分重要。

    要使用socket,必须引入socket模块,因此在Python脚本开头先写入

    1 import socket

    学过socket的都知道,就是客户端和服务端的通信。

    因此新建client.py和server.py文件。

    先编写server.py文件:

     1 import socket
     2 
     3 # 创建 TCP 协议的套接字。
     4 server = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
     5 # 连接的 ip 地址。
     6 host = '127.0.0.1'
     7 # 目标端口。
     8 port = 12345
     9 address = ('127.0.0.1',12345)
    10 # 监听目标地址上的端口。
    11 server.bind(address)
    12 # 最多同时接受 1 个连接请求。
    13 server.listen(1)
    14 
    15 while True:
    16     # 接受连接。若没有连接则阻塞进程
    17     # server.accept() 返回的是一个 tuple。
    18     # clientSocket, clientAddress = server.accept()
    19     # 等价于
    20     # temp = server.accept()
    21     # clientSocket = temp[0]
    22     # clientAddress = temp[1]
    23     clientSocket,clientAddress = server.accept()
    24     # 接收并进行解码。1024 指的是缓冲区的大小。
    25     print(clientSocket.recv(1024).decode())
    26     # 将字符串编码并发回客户端。
    27     # 等价于
    28     # clientSocket.sendall(b'reply')
    29     clientSocket.sendall('reply'.encode())
    30     # 关闭与客户端的连接。
    31     clientSocket.close()
    32 else:
    33     # 关闭服务端监听端口的 socket。
    34     server.close()

    接下来编写client.py文件:

     1 import socket
     2 
     3 # 创建 TCP 协议的套接字。
     4 client = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
     5 # 连接目标端口,连接失败将引发 ConnectionRefusedError 类型的异常。
     6 client.connect(('127.0.0.1',12345))
     7 # 将字符串编码后发送至服务端。
     8 # 等价于
     9 # client.send(b'hello')
    10 client.send('hello'.encode())
    11 # 接收服务端的内容并解码输出。
    12 print(client.recv(1024).decode())
    13 # 关闭与服务端连接的套接字。
    14 client.close()

    编写完毕后,就可以运行了。

    在server.py文件右键运行,接着在client.py文件右键再运行即可。

    运行效果:

  • 相关阅读:
    elasticsearch的服务器响应异常及解决策略(转)
    年薪30W的软件测试“老司机”工作经验
    Selenide 阶段性总结介绍(UI自动化测试工具)
    自动化测试的类型以及对测试自动化的几个误区
    使用Jmeter进行http接口性能测试
    如何修炼为测试架构师
    关于接口测试的一点小小的感悟
    详细讲解 A/B 测试关键步骤,快来检查下还有哪些疏漏的知识点
    JMeter测试WebSocket的经验总结
    Android 自动化测试及性能数据采集的 Python 脚本
  • 原文地址:https://www.cnblogs.com/h82258652/p/3997376.html
Copyright © 2020-2023  润新知