随笔分类 -  网络编程学习

记录网络编程学习的历程
摘要:1.概念 分包:发送方发送字符串”helloworld" ,接收方却接收到了两个字符串”hello" 和”world"。 粘包:发送方发送两个字符串”hello" +” world" ,接收方却一次性接收到 了” helloworld" 但是TCP传输数据能保证几点: 1) 顺序不变,例如发送方发送 阅读全文
posted @ 2021-07-17 22:40 Creature_lurk 阅读(320) 评论(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 阅读(536) 评论(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 阅读(331) 评论(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 阅读(599) 评论(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 阅读(62) 评论(0) 推荐(0)
摘要:1.字节顺序是指占内存多于一个字节类型的数据在内存中的存放顺序,一个32位整数由4 个字节组成。 内存中存储这4个字节有两种方法:一种是将低序字节存储在起始地址,这 称为小端(little-endian) 字节序;另一种方法是将高序字节存储在起始地址,这称为 大端(big-endian) 字节序。 阅读全文
posted @ 2021-07-17 02:34 Creature_lurk 阅读(282) 评论(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 阅读(1418) 评论(0) 推荐(0)
摘要:1.socket编程概念 socket就是插座(中文翻译为套接字),运行在计算机中的两个程序通过socket建立起一个通道,数据在通道中传输。 socket把复杂的TCP/IP协议簇隐藏了起来,对程序员来说,只要用好socket相关函数,就可以完成网络通信。 2.socket分类 socket提供了 阅读全文
posted @ 2021-07-17 01:13 Creature_lurk 阅读(60) 评论(0) 推荐(0)