梦相随1006

版权归 梦相随1006 所有,未经 https://www.cnblogs.com/xin1006 作者许可,严禁转载

导航

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()
    

 

posted on 2016-08-25 20:59  梦相随1006  阅读(211)  评论(0编辑  收藏  举报