tcp套接字和udp套接字编程
- 流式套接字是以字节流方式传输数据,数据报套接字以数据报形式传输
- tcp套接字会有粘包,udp套接字有消息边界不会粘包
- tcp套接字保证消息的完整性,udp套接字则不能
- tcp套接字依赖listen accept建立连接才能收发消息,udp套接字则不需要
- tcp套接字使用send,recv收发消息,udp套接字使用sendto,recvfrom
socket套接字属性
- sockfd.type套接字类型
- sockfd.family套接字地址类型
- sockfd.getsockname()获取套接字绑定地址
- sockfd.fileno()获取套接字的文件描述符
- 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)