socket初学笔记整理
来源:互联网 发布:zookeeper 集群 linux 编辑:程序博客网 时间:2024/05/18 03:51
1: 创建socket ---socket
原型: int socket(int family, int type, int protocol)
返回值: 创建成功返回socket描述符,失败则返回-1
第一个参数(family)表示协议族,常用值有AF_INET,AF_INET6, AF_LOCAL(Unix域协议), AF_ROUTE(路由套接字), AF_KEY(密钥套接字)
第二个参数(type)表示所需创建的socket的类型,主要有SOCK_STREAM(字节流套接字),SOCK_DRAM(数据包套接字),SOCK_SEQPACKET(有序分组套接字),SOCK_RAW(原始套接字)
第三个参数(protocal)表示使用的协议,常用TCP,UDP,SCTP
int Socket(int family, int type, int protocal){ int sockfd; if ((sockfd = socket(AF_INET, SOCK_STREAM, 0)) < 0) return -1; return sockfd;}2: 绑定bind原型: int bind(int sockfd, const struct sockaddr *socketaddr, socklen_t addrlen)
返回值: 成功返回0, 失败返回-1
这个函数要注意的地方是第二个参数,由于一般在自己函数里面定义的地址结构使用的是sockaddr_in类型,在使用bind时主要进行强制转换,同样在accept函数中也是如此。
struct sockadd_in { uint8_t sin_len; sa_family_t sin_family; in_port_t sin_port; struct in_addr sin_addr; char sin_zero[8]; }struct sockadd { uint8_t sa_len; sa_family_t sa_family; char sa_date[14];}3; 接受函数accept原型:
int accept(int sockfd, struct sockaddr *cliaddr, socklen_t *addrlen)返回值: 成功则返回非负的描述符,失败返回-1注意点: 第一个参数是监听的socket的描述符,同时注意返回的地址,这里使用的是值-结果的传递方式。
4: 监听listen
原型:int listen(int sockfd, int backlog)
返回值: 成功返回0,失败返回-1
注意点:第二个参数,表示改监听能同时接受到的客户端连接。
5: 连接connect函数
原型: int connect(int sockfd, const struct sockaddr *servaddr, socklen_t addrlen)
返回值: 成功返回0, 失败返回-1
- socket初学笔记整理
- 初学http整理笔记
- java Socket编程初学笔记
- 初学JavaScript,整理整理笔记(一)
- 初学javascript,整理整理笔记(二)
- Python 初学笔记:Socket网络编程
- 阻塞socket学习-整理笔记
- 几年前初学mysql的笔记(整理)
- git源码管理初学笔记整理
- 软件测试面试指导初学笔记整理
- 初学Socket
- 基于TCP实现的socket通信(初学笔记)
- 初学Maven整理的别人的笔记用于查阅
- Socket初学认识 ----- Socket模型
- socket通信初学
- Java Socket编程初学
- 初学Socket编程
- 初学socket网络编程
- PAT1002. A+B for Polynomials (25)
- Java程序优化的一些最佳实践
- hdu 1692 Destroy the Well of Life
- iPhone开源项目汇总(更新版)
- HDU1042(大数运算)
- socket初学笔记整理
- NSNumber与NSValue封装非object类型
- 1999 年美国加州Barstow7.1级 earthquake
- JAVA线程池例子
- HDU 2149 - Public Sale
- 当以此为镜,严于利己
- socket编程 - Asyncsocket(详解版)
- 使用Dalvik调试监控服务(DDMS)工具
- 链表面试题整理