Python socket编程

Posted 佩雷尔曼的信徒

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python socket编程相关的知识,希望对你有一定的参考价值。

soket 编程步骤

# -*- coding: utf-8 -*-
########################################################################
class sckt:
    """去元音缩写变量名"""
    #----------------------------------------------------------------------
    def __init__(self, host = 127.0.0.1, port = 10000):
        """地址初始化"""
        self.host = host
        self.port = port
    #----------------------------------------------------------------------
    def run_server(self):
        """服务器"""
        import socket
        """第一步是创建 socket 对象"""
        sckt = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
        """第二步是将 socket 绑定到指定地址"""
        sckt.bind((self.host, self.port))
        """第三步是使用 socket 套接字的 listen 方法接收连接请求"""
        sckt.listen(5)
        while True:
            """第四步是服务器套接字通过 socket 的 accept 方法等待客户请求一个连接"""
            connection, address = sckt.accept()
            try:
                """第五步是处理阶段,服务器和客户端通过 send 和 recv 方法通信"""
                connection.settimeout(5)
                buffer = connection.recv(1024)
                if buffer == 1:
                    connection.send(Welcome to server!)
                else:
                    connection.send(Cut off the connection!)
            except socket.timeout:
                print(Time out!)
            """最后是传输结束,服务器调用 socket 的 close 方法关闭连接"""
            connection.close()
    #----------------------------------------------------------------------
    def run_client(self):
        """客户端"""
        import socket
        """第一步是创建 socket 对象"""
        sckt = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
        """第二步是连接服务器"""
        sckt.connect((self.host, self.port))
        import time
        time.sleep(2)
        """第三步是通信"""
        sckt.send(1)
        print(sckt.recv(1024))
        """最后是关闭连接"""
        sckt.close()

以上是关于Python socket编程的主要内容,如果未能解决你的问题,请参考以下文章

Python--网络编程-----socket代码实例--聊天软件升级版

python,socket网络编程,最简单的server端和client端代码

golang代码片段(摘抄)

Python下的socket编程

Python网络编程常用代码

Python全栈开发-Day8-Socket网络编程