摘要: 1.Windows 下的 socket 程序和 Linux 思路相同,但细节有所差别(1) Windows 下的 socket 程序依赖 Winsock.dll 或 ws2_32.dll,必须提前加载。DLL 有两种加载方式,请查看:动态链接库DLL的加载(2) Linux 使用“文件描述符”的概念 阅读全文
posted @ 2019-11-07 22:15 青山依 阅读(337) 评论(0) 推荐(0) 编辑
摘要: 1.单链表实现 slist.h 1 #ifndef _SLIST_H 2 #define _SLIST_H 3 4 typedef struct _slist_node 5 { 6 struct _slist_node *p_next; /* 指向下一个结点的指针 */ 7 }slist_node_ 阅读全文
posted @ 2020-05-12 09:09 青山依 阅读(300) 评论(0) 推荐(0) 编辑
摘要: 1. 利用异步io通知模型实现回声服务器端 1 #include <stdio.h> 2 #include <string.h> 3 #include <winsock2.h> 4 5 #define BUF_SIZE 100 6 7 void CompressSockets(SOCKET hSoc 阅读全文
posted @ 2020-05-11 00:21 青山依 阅读(216) 评论(0) 推荐(0) 编辑
摘要: 1. iterator.h 1 #ifndef _ITERATOR_H 2 #define _ITERATOR_H 3 4 typedef void *iterator_t; 5 typedef void (*iterator_next_t)(iterator_t *p_iter); 6 typed 阅读全文
posted @ 2020-04-13 16:16 青山依 阅读(2484) 评论(0) 推荐(1) 编辑
摘要: 1. hash_db.h 1 #ifndef _HASH_DB_H 2 #define _HASH_DB_H 3 4 #include "slist.h" 5 6 typedef unsigned int (*hash_func_t) (const void *key); //哈希函数类型,返回值为 阅读全文
posted @ 2020-04-13 16:12 青山依 阅读(2103) 评论(0) 推荐(0) 编辑
摘要: 1. dlist.h 1 #ifndef _DLIST_H 2 #define _DLIST_H 3 4 5 typedef struct _dlist_node 6 { 7 struct _dlist_node *p_next; /* 指向下一个结点的指针 */ 8 struct _dlist_n 阅读全文
posted @ 2020-04-13 16:05 青山依 阅读(508) 评论(0) 推荐(0) 编辑
摘要: 1. slist.h 1 #ifndef _SLIST_H 2 #define _SLIST_H 3 4 typedef struct _slist_node 5 { 6 struct _slist_node *p_next; /* 指向下一个结点的指针 */ 7 }slist_node_t; 8 阅读全文
posted @ 2020-04-13 16:00 青山依 阅读(383) 评论(0) 推荐(0) 编辑
摘要: 1.通用校验器接口(validator.h) 2.通用校验器接口实现(validator.c) 3.通用校验器使用范例程序 阅读全文
posted @ 2019-01-23 13:44 青山依 阅读(2094) 评论(0) 推荐(0) 编辑
摘要: 1. int *str = NULL; #define NULL ((void *)0) 空指针实质上是有指向的指针,但它指向的地址是很小的地址,约定俗成为地址0. 2. void *void * 类型指针,这个类型指针指向了实实在在的存放数据的地址,但是该地址存放的数据的数据类型我们暂时不知道. 阅读全文
posted @ 2019-01-17 11:53 青山依 阅读(847) 评论(0) 推荐(1) 编辑