• python网络编程-01


    python网络编程

    1.socket模块介绍

    ①在网络编程中的一个基本组件就是套接字(socket),socket是两个程序之间的“信息通道”。

    ②套接字包括两个部分:服务器套接字、客户机套接字

    ③一个套接字就是一个socket模块中的socket类的实例。

    如:

    import socket

    s=socket.socket()            #socket类实例化

    实例化需要3个参数:

    地址族:默认是socket.AF_INET

    流: 默认是socket.SOCK_STREAM

    使用的协议:默认是0

    对于一个普通的套接字,不需要提供任何参数。

    •  Socket类型:

     

    •   Socket函数:

     

    2. socket编程思路:

    •  Tcp服务端:

      1.创建套接字,绑定套接字到本地ip与端口  (socket.socket(socket.AF_INET,socket.SOCK_STREAM) , s.bind())

      2.开始监听连接   (s.listen())

      3.进入循环,不断接受客户端的连接请求  (s.accept())

      4.然后接收传来的数据,并发送给对方数据  (s.sendall(), s.recv())

      5.传输完毕后,关闭套接字。   (s.close())

    •  TCP 客户端:

      1.创建套接字,连接远端地址 (socket.socket(socket.AF_INET,socket.SOCK_STREAM) , s.connect())

      2.连接后关送数据和接收数据  (s.sendall(), s.recv() )

      3.传输完毕后,关闭套接字  (s.close())

     

    【实例】:

    >客户端部分

    import socket
    import time

    #编写一个客户端测试程序

    s = socket.socket()
    s.connect(('127.0.0.1',12306))
    data = s.recv(512)
    s.send('hello')
    time.sleep(2)
    s.close()
    print '收到服务端的消息是:',data

    >服务端部分
    import socket

    #编写一个服务端测试程序
    s = socket.socket()

    s.bind(('127.0.0.1',12306))
    s.listen(5)


    conn,address = s.accept()
    print "收到客户端地址信息:",address
    conn.send("ByeBye")
    ra = conn.recv(512)
    print "收到客户端发的消息:",ra
    s.close()

    3.socket其它应用 

    从网络上查找主机:

    import socket

    print socket.gethostname()   #查找当前主机的正式名字

    print socket.gethostbyname('www.baidu.com')        #将服务器名字转为数字地址

    print socket.gethostbyname_ex('www.baidu.com')   #访问更多有关服务器的更多命名信息

    print socket.gethostbyaddr('10.34.41.xx')               #通过ip来查看主机名

    返回结果:

    ll-RobotFrame
    115.239.210.26

  • 相关阅读:
    混淆矩阵求解(多分类与单分类)
    pytorch权重转wts格式,用于tensorrt权重加载
    触摸按键控制器TTP229BSF使用心得[原创cnblogs.com/helesheng]
    腾讯云主机配置FTP INnoVation
    【转】PV操作,看完了进程同步与互斥机制,我终于彻底理解了 PV 操作
    C++使用正则时碰到一个奇怪的问题
    DLL中使用vector的问题
    Docker镜像操作 测试
    剖析虚幻渲染体系(16) 图形驱动的秘密
    20225前端渡劫汇总
  • 原文地址:https://www.cnblogs.com/yu2000/p/3432147.html
Copyright © 2020-2023  润新知