zoukankan      html  css  js  c++  java
  • Python socket通信~简单实例

    socket编程步骤

    1. 服务端创建一个socket,绑定地址和端口,然后监听端口上传入的连接,一旦有连接进来,就通过accept函数接收传入的连接。
    2. 客户端也是创建一个socket。绑定远程地址和端口,然后建立连接,发送数据。

      

    family 地址簇,用与socket()函数的第一个参数。主要有以下几个

    1. socket.AF_UNIX 用与单一机器下的进程通信
    2. socket.AF_INET 用与服务器之间相互通信,通常都用这个。
    3. socket.AF_INET6 支持IPv6

    sockettype socket类型,用与socket()函数的第二个参数,常用的有

    1. socket.SOCK_STREAM 默认,用于TCP协议
    2. socket.SOCK_DGRAM 用于UDP协议

    服务端

    import socket
    
    server = socket.socket()
    server.bind(('127.0.0.1', 6969))
    server.listen()
    # 开始监听
    # conn就是客户端连过来而在服务端在其生成的一个连接实例
    conn, addr = server.accept()  # 等待会话链接
    # print(conn,addr) # 打印可查看到conn,addr内容
    # 接收到数据
    data = conn.recv(1024)
    # 打印接收数据
    print('recv:', data)
    # 返回数据
    conn.send(data.upper())

    客户端

    import socket
    # 声明socket类型,同时生成socket连接对象
    client = socket.socket()
    # 开始连接
    client.connect(('127.0.0.1', 6969))
    # 发送消息 注意3.以上版本只可发送二进制数据
    client.send(b'test socket')
    # 接收数据
    data = client.recv(1024)
    # 打印接收数据
    print('recv:', data)
    # 关闭连接
    client.close()
  • 相关阅读:
    Oracle 添加主键和索引
    Oracle中查询主键、外键、sequence、表基本信息等
    Spring工作原理
    Ehcache 缓存使用
    socket编程-java
    oracle触发器详解
    单例模式的几种写法
    [LeetCode] 412. Fizz Buzz 嘶嘶嗡嗡
    LeetCode Top Interview Questions
    [LeetCode] 131. Palindrome Partitioning 回文分割
  • 原文地址:https://www.cnblogs.com/Linc2010/p/9011673.html
Copyright © 2011-2022 走看看