• Python-老男孩-03_socket


    Socket简介:

    所谓Socket也称"套接字",用于描述IP和端口,是一个通信链的句柄,应用程序通过"套接字"向网络发出请求或应答网络请求。
    Socket起源于Unix,而Unix/Linux的哲学之一就是"一切皆文件"。都可以用"打开open"-->读写write/read-->关闭close模式来操作。Socket就是该模式的一个实现,即Socket就是一个特殊的文件

    第一个简单的Socket server端和client端

    --------------------------------------------------------------------------

     #skServer = socket.socket()
     skServer = socket.socket(socket.AF_INET,socket.SOCK_STREAM,0)
    
    #参数1  地址簇
    #socket.AF_INET IPV4(默认)      socket.AF_INET6
    
    #参数2 类型
    #socket.SOCK_STREAM  TCP(默认)
    #socket.SOCK_DGRAM  UDP
    
    #参数3  默认 0

     Server端改造,支持多个用户连接

    #!/usr/bin/env python
    #_*_ coding:utf-8 _*_
    
    # socket服务端升级版本   Python提供的该模块对原生的Socket作了封装 
    
    import SocketServer
    
    
    class MyServer(SocketServer.BaseRequestHandler):
        
        def setup(self):
            pass
        
        def handle(self):
            
            print(self.request)
            print(self.client_address)
            print(self.server)
            
            conn = self.request
            conn.send('server:hello.awei')
            flag =True
            while flag:
                recvData = conn.recv(1024)
                print(recvData)
                conn.send('sb')
                if 'q' == recvData:
                    flag = False
                    conn.close()
                
        def finish(self): 
            pass
                   
    
    # 不要作变动 只需要在 MyServer类中写具体的应用场景
    if __name__ == '__main__':
        
        server = SocketServer.ThreadingTCPServer(('127.0.0.1',8080),MyServer)
        server.serve_forever()
        
    ----------- 赠人玫瑰,手有余香     如果本文对您有所帮助,动动手指扫一扫哟   么么哒 -----------


    未经作者 https://www.cnblogs.com/xin1006/ 梦相随1006 同意,不得擅自转载本文,否则后果自负
  • 相关阅读:
    Ural 2070:Interesting Numbers(思维)
    Codeforces 760B:Frodo and pillows(二分)
    Codeforces 760C:Pavel and barbecue(DFS+思维)
    Codeforces 730I:Olympiad in Programming and Sports(最小费用流)
    HDU-2102 A计划
    HDU-2181 哈密顿绕行世界问题
    HDU-1226 超级密码
    学习系列
    学习系列
    学习系列
  • 原文地址:https://www.cnblogs.com/xin1006/p/5808341.html
Copyright © 2020-2023  润新知