socket套接字属性

107 阅读1分钟

tcp套接字和udp套接字编程

  1. 流式套接字是以字节流方式传输数据,数据报套接字以数据报形式传输
  2. tcp套接字会有粘包,udp套接字有消息边界不会粘包
  3. tcp套接字保证消息的完整性,udp套接字则不能
  4. tcp套接字依赖listen accept建立连接才能收发消息,udp套接字则不需要
  5. tcp套接字使用send,recv收发消息,udp套接字使用sendto,recvfrom

socket套接字属性

  1. sockfd.type套接字类型
  2. sockfd.family套接字地址类型
  3. sockfd.getsockname()获取套接字绑定地址
  4. sockfd.fileno()获取套接字的文件描述符
  5. sockfd.getpeername()获取连接套接字客户端地址,必须有连接套接字调用
sockfd.setsockopt(level,option,value) 
  • 功能:设置套接字选项,可以修改或者丰富套接字的功能
  • 参数:level选项类别SOL SOCKET 以SOL,OPPO开头,
  • option具体选项内容
  • value选项值
sockfd.getsockopt(level,option)
  • 功能:获取套接字选项值
- 设置端口可以立即重用
- s.setsockopt(SOL SOCKET,SO REUSEADDR,1)