zoukankan      html  css  js  c++  java
  • python实战第一天-socket模块练习

    操作系统
     
    Ubuntu 15.10
     
    IDE & editor
     
    JetBrains PyCharm 5.0.2
     
    ipython3
     
    Python版本
     
    python-3.4.3
    

    导入socket模块 

    ####server####
    import socket s = socket.socket () s.bind(('127.0.0.1',30021)) 绑定在127.0.0.1:30021上 s.listen(10) #监听 0是不启用的

    查看端口

    netstat -ntl
    
    激活Internet连接 (仅服务器)
    Proto Recv-Q Send-Q Local Address           Foreign Address         State      
    tcp        0      0 127.0.0.1:30021         0.0.0.0:*               LISTEN     
    

    #阻塞的方式接收客户端 为了能够与客户端通信所创建的套接字文件,以及客户端地址

    sc,client = s.accept() #这时进程是等待连接状态的
    

    ####client####

    import socket
    
    c = socket.socket()
    
    c.connect(('127.0.0.1',30021))         #客户端连接后server进程退出连接状态
    

    #####server####在server执行可以查看连接状态

    print(sc)
    
    	<socket.socket fd=9, family=AddressFamily.AF_INET, type=SocketKind.SOCK_STREAM, proto=0, laddr=('127.0.0.1', 30021), raddr=('127.0.0.1', 36332)>
    
    print(client)
    ('127.0.0.1', 49612) #客户端连接端口49612 是随机的
    

    查看连接

    netstat -tan
    激活Internet连接 (服务器和已建立连接的)
    tcp        0      0 127.0.0.1:30022         127.0.0.1:49612         ESTABLISHED
    tcp        0      0 127.0.0.1:49612         127.0.0.1:30022         ESTABLISHED
    

    #####server#####

    data=sc.recv(1024)
    

    #####client#####

    c.send(b"form client")

    #####server#####

    print(data)  
    b'form client'

    关闭连接

    s.close()
    c.close()
    
  • 相关阅读:
    位军营 20190919-4 测试,结对要求
    位军营 20190919-5 代码规范,结对要求
    国内源
    hexo安装-nodejs
    python调用chrome打开指定网址
    生成证书,用于签名Android应用
    cygwin64-安装包管理工具
    Android-删除指定包名的App
    pyqt5加载网页的简单使用
    打包python到exe
  • 原文地址:https://www.cnblogs.com/love19791125/p/5217090.html
Copyright © 2011-2022 走看看