• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    python SOCKET编程基础入门

    一、UDP编程

    1.客户端Client:发起访问的一方。

    2.服务器端

    3.server段编程

    (1)建立socket,socket是负责具体通信的一个实例

    (2)绑定,为创建的socket指派固定的端口和IP地址

    (3)接受对方发送内容

    (4)给对方发送反馈,此步骤为非必须步骤

    4.Client端编程

    (1)建立通信的socket

    (2)发送内容到指定服务器

    (3)接受服务器给定的反馈内容

    5.模拟一下这个过程

    (1)我们先建立一个服务器的函数

    #服务器案例
    
    import socket
    
    ​
    
    #模拟服务器的函数
    
    def serverFunc():
    
      #1.建立socket
    
      #socket.AF_INET:使用IPV4协议族
    
      #socket.SOCK_DGRAM:使用UDP通信
    
      sock = socket.socket(socket.AF_INET,socket.SOCK_DGRAM)
    
      #2.绑定ip和port
    
    ​
    
      #127.0.01:这个ip地址代表的是机器本身
    
      #7852:随机指定的端口号
    
      #地址是一个tuple类型,(ip.port)
    
      addr = ("127.0.0.1",7852)
    
      sock.bind(addr)
    
    ​
    
      #接受对方消息
    
      #等待方式为死等,没有其他可能性
    
      #recvfrom接受的返回值是一个元组,前一项表示数据,后一项表示地址
    
      #参数的含义是缓冲区大小
    
      #rst = sock.recvfrom(500)
    
      data,addr = sock.recvfrom(500)
    
    ​
    
      print(data)
    
      print(type(data))
    
    ​
    
      #发送过来的数据是bytes格式,必须通过解码才能得到str格式内容
    
      #decode默认参数是utf8
    
      text = data.decode()
    
      print(type(text))
    
      print(text)
    
    ​
    
      #给对方反馈的消息
    
      rsp = "I am very hungry now"
    
    ​
    
      #发送的数据需要编程成bytes格式
    
      #默认时utf8
    
      data = rsp.encode()
    
      sock.sendto(data,addr)
    
      
    
    if __name__ == "__main__":
    
      print("Start Server")
    
      serverFunc()
    
    print("End Server")

    (2)然后创建一个客户端的函数

    import socket
    
    def clientFunc():
    
      sock = socket.socket(socket.AF_INET,socket.SOCK_DGRAM)
    
      text = "you are very cool"
    
    ​
    
      #发送的数据必须是bytes格式
    
      data = text.encode()
    
      #发送
    
      sock.sendto(data,("127.0.0.1",7852))
    
      data,addr =sock.recvfrom(200)
    
    ​
    
      data = data.decode()
    
      print(text)
    
    ​
    
    if __name__ == "__main__":
    
      print("Start Client")
    
      clientFunc()
    
    print("End Client")

    (3)我们先启动服务器端函数

    出现如下图像,它是创建了一个sock,然后自己绑定到127.0.0.1:7852,运行到sock.recvfrom(500)这里死等客户端发消息

    (4)再启动客户端函数

    出现如下发送编码后的​text内容到服务器(127.0.0.1:7852),服务器成功接收后返回you are cool这句话。

    (5)我们再看服务器的函数那里

    接受了bytes格式的字符串,并打印出来了,然后再解码打印出来,最后把you are cool返回​客户端。

    (6)这里有个地方没有办法:因为我们在一台电脑上做的测试,所以相当于自言自语,​不如在两台电脑上进行试验。​

    二、源码

    D33_1_ServerProgramme.py

    D33_2_ClientProgramme.py

    https://github.com/ruigege66/Python_learning/blob/master/D33_1_ServerProgramme.py

    https://github.com/ruigege66/Python_learning/blob/master/D33_2_ClientProgramme.py

    以上就是python SOCKET编程基础入门的详细内容,更多关于python SOCKET编程的资料请关注脚本之家其它相关文章!

    您可能感兴趣的文章:
    • python Socket网络编程实现C/S模式和P2P
    • python网络编程:socketserver的基本使用方法实例分析
    • python网络编程socket实现服务端、客户端操作详解
    • 基于python3的socket聊天编程
    • python socket通信编程实现文件上传代码实例
    • Python 网络编程之TCP客户端/服务端功能示例【基于socket套接字】
    • Python 网络编程之UDP发送接收数据功能示例【基于socket套接字】
    • python粘包问题及socket套接字编程详解
    • Python Socket编程详解
    上一篇:python 对xml解析的示例
    下一篇:python FTP编程基础入门
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    python SOCKET编程基础入门 python,SOCKET,编程,基础,入门,