Socket

Posted bigcat47

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Socket相关的知识,希望对你有一定的参考价值。

套接字种类:

  基于文件类型的套接字家族AF_UNIX(Unix一切皆文件)

  基于网络类型的套接字家族AF_INET、AF_INET6

Python中socket函数:

  服务端套接字函数:

    bind()  #绑定(主机,端口)到套接字

    listen()  #开始TCP监听

    accept()  #被动接受TCP客户端 的连接,阻塞式等待连接

  客户端套接字函数:

    connect()  #初动化TCP服务器连接

    connect_ex()  #connect函数的扩展版本,出错时返回错误码

  公共用途套接字函数:

    send()  #发送TCP数据

    sendall()  #发送完整的TCP数据

    recv()   #接收TCP数据

    sendto()  #发送UDP数据

    recvfrom()  #接收UDP数据

    getpeername()  #获取连接到当前套接字的远端的地址

    getsockname()  #获取当前套接字的地址

    getsockopt()  #获取指定套接字的参数

    setsockopt()  #设置指定套接字的参数

    close()   #关闭套接字

  面向锁的套接字函数:

    setblocking()  #设置套接字的阻塞与非阻塞模式

    settimeout()  #设置阻塞套接字操作的超时时间

    gettimeout()  #获取阻塞套接字操作的超时时间

  面向文件的套接字函数:

    fileno()  #获取套接字的文件描述符

    makefile()  #创建该套接字相关的文件

TCP/IP四层:

技术分享图片

Socket工作流程:

技术分享图片

以上是关于Socket的主要内容,如果未能解决你的问题,请参考以下文章

socket通信

java实例检查端口是否被占用

网络通信与Socket

分布式理论,架构设计Socket和IO模型

分布式理论,架构设计Socket和IO模型

android做一个简单上传文件的功能,socket连接问题