摘要: 1.静态变量 static修饰变量用于声明该变量为静态变量。 1)函数中的静态变量 当变量声明为static时,空间将在程序的生命周期内分配。即使多次调用该函数,静态变量的空间也只分配一次,前一次调用中的变量值通过下一次函数调用传递。这对于在C / C ++或需要存储先前函数状态的任何其他应用程序非 阅读全文
posted @ 2021-08-27 20:03 Creature_lurk 阅读(60) 评论(0) 推荐(0) 编辑
摘要: 1.概念 分包:发送方发送字符串”helloworld" ,接收方却接收到了两个字符串”hello" 和”world"。 粘包:发送方发送两个字符串”hello" +” world" ,接收方却一次性接收到 了” helloworld" 但是TCP传输数据能保证几点: 1) 顺序不变,例如发送方发送 阅读全文
posted @ 2021-07-17 22:40 Creature_lurk 阅读(288) 评论(0) 推荐(0) 编辑
摘要: 1.send函数用于把数据通过socket发送给对端。不论是客户端还是服务端,应用程序都用send函数来向TCP连接的另一端发送数据。 函数声明: ssize_t send(int sockfd, const void *buf, size_t len, int flags); sockfd为已建立 阅读全文
posted @ 2021-07-17 21:12 Creature_lurk 阅读(408) 评论(0) 推荐(0) 编辑
摘要: 1.listen listen函数把主动连接socket变为被动连接的socket,使得这个socket可以接受其它socket的连接请求,从而成为一个服务端的socket。 //函数声明 int listen(int sockfd, int backlog); 返回:0-成功, -1-失败 参数s 阅读全文
posted @ 2021-07-17 04:30 Creature_lurk 阅读(253) 评论(0) 推荐(0) 编辑
摘要: 1.作用 服务端把用于通信的地址和端口绑定到socket上。 //函数声明 int bind(int sockfd, const struct sockaddr *addr,socklen_t addrlen); 参数sockfd,需要绑定的socket。 参数addr,存放了服务端用于通信的地址和 阅读全文
posted @ 2021-07-17 04:20 Creature_lurk 阅读(507) 评论(0) 推荐(0) 编辑
摘要: 1.sockaddr结构体 struct sockaddr{ unsigned short sa_family; //地址类型,AF_XXX char sa_data[14]; //14字节的端口和地址 } 2.sockaddr_in结构体 struct sockaddr_in{ short int 阅读全文
posted @ 2021-07-17 04:10 Creature_lurk 阅读(46) 评论(0) 推荐(0) 编辑
摘要: 1.字节顺序是指占内存多于一个字节类型的数据在内存中的存放顺序,一个32位整数由4 个字节组成。 内存中存储这4个字节有两种方法:一种是将低序字节存储在起始地址,这 称为小端(little-endian) 字节序;另一种方法是将高序字节存储在起始地址,这称为 大端(big-endian) 字节序。 阅读全文
posted @ 2021-07-17 02:34 Creature_lurk 阅读(253) 评论(0) 推荐(0) 编辑
摘要: 1.socket函数用于创建一个新的socket,也就是向系统申请一个socket资源。socket函数用户客户端和服务端。 //函数声明 int socket(int domain, int type, int protocol); 参数说明: domain:协议域,又称协议族(family)。常 阅读全文
posted @ 2021-07-17 02:20 Creature_lurk 阅读(1128) 评论(0) 推荐(0) 编辑
摘要: 1.有时会见到这样的主函数,十分好奇里面的参数argc、argv和envp代表什么 int main(int argc,char *argv[],char*envp[]) { return 0; } 查阅资料,argc和argv中的arg指的是"参数", 其中,argc为整数,用来统计运行程序时送给 阅读全文
posted @ 2021-07-17 01:39 Creature_lurk 阅读(717) 评论(0) 推荐(0) 编辑
摘要: 1.socket编程概念 socket就是插座(中文翻译为套接字),运行在计算机中的两个程序通过socket建立起一个通道,数据在通道中传输。 socket把复杂的TCP/IP协议簇隐藏了起来,对程序员来说,只要用好socket相关函数,就可以完成网络通信。 2.socket分类 socket提供了 阅读全文
posted @ 2021-07-17 01:13 Creature_lurk 阅读(46) 评论(0) 推荐(0) 编辑