zoukankan      html  css  js  c++  java
  • python socket常用接口说明

    一、服务端

    1、创建socket对象

      socket.socket(family=AF_INET, type=SOCK_STREAM, proto=0, fileno=None)

      AF_INET:IPv4协议

      SOCK_STREAM: 字节流套接字

      返回值:非负整数,记为套接字表述符

     2、socket绑定地址

      socket.bind((host,port))

      把一个本地协议地址赋予一个套接字,这个地址不能是已被其他的socket绑定了的。

    3、监听

      socket.listen(5)

      使得socket可以接受连接。设置最大连接数为5,这个数值可以自行设置,最小值为0

    4、接受连接

      conn,addr=socket.accept()

      接受一个连接,socket必须已经绑定了一个地址,并且正在监听连接。

    返回值是(conn,address),其中conn是一个新的socket对象,用于在这个连接上收发数据。address是绑定在这个socket连接的另一端的地址。

    5、接收数据

      conn.recv(bufsize)

      从socket中接受数据,返回值接收的数据,数据类型是bytes对象。一次性接收到的最大数据量为bufsize。在网络或者硬件不够好的情况下,收到的数据量可能小于bufsize。

    6、发送数据

      conn.send(bytes)

       发送数据到已连接到远程地址的socket。返回值是已发送的字节数。返回值可能小于需要发送的字节数。应用程序负责将所有的数据发送出去,如果有些数据没有被发送,应用程序需要把剩余的数据再次发送出去。

      conn.sendall(bytes)

      接口负责将数据全部发送到远程地址的socket上。如果成功返回None,失败则抛出异常。

    二、客户端

    1、创建socket对象

      socket.socket(socket.AF_INET.socket.SOCK_STEAM)

      与服务端创建socket对象相同

    2、socket.connect((host,port))

      通过地址连接到远程的socket

    3、接收数据

      socket.recv()

      同服务端的recv()

    4、发送数据

      socket.send()

      同服务端的send()

      socket.sendall()

      同服务端的sendall()

  • 相关阅读:
    刘瑜写给女儿的信:愿你慢慢长大
    Linux 程序编译过程的来龙去脉
    2018新版驾照驾照psd模板下载
    最新行驶证 驾照ps模板psd模板
    《我不是药神》票房超25亿 曝片段呈现群像式演技
    微信小程序打开手机浏览器访问置顶网页
    微信如何打开手机浏览器
    微信发一个网址打开后自动调用手机自带默认浏览器或提示选择浏览器打开如何实现?
    网页跳转微信关注页面
    网页跳转微信添加页面
  • 原文地址:https://www.cnblogs.com/briskzou/p/12080378.html
Copyright © 2011-2022 走看看