Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C 用于在接收数据时触发函数的套接字_C_Sockets - Fatal编程技术网

C 用于在接收数据时触发函数的套接字

C 用于在接收数据时触发函数的套接字,c,sockets,C,Sockets,是否可以在非阻塞模式下运行C套接字库,并在接收任何数据时触发函数?然后,该功能将评估接收到的数据,并决定程序中的控制流程 如果您能提到一些参考资料,那将非常有帮助。是的,使用库是可能的 首先创建一个事件库 struct event_base *ev_base = event_base_new(); 为套接字上接收到的任何内容创建并添加该事件 struct event *read_ev = event_new(ev_base, socket_fd, EV_READ|EV_PERSIST, cal

是否可以在非阻塞模式下运行C套接字库,并在接收任何数据时触发函数?然后,该功能将评估接收到的数据,并决定程序中的控制流程

如果您能提到一些参考资料,那将非常有帮助。

是的,使用库是可能的

首先创建一个事件库

struct event_base *ev_base = event_base_new();
为套接字上接收到的任何内容创建并添加该事件

struct event *read_ev = event_new(ev_base, socket_fd, EV_READ|EV_PERSIST, callback_function_ptr, callback_function_arg);
event_add(read_ev, NULL);
在函数分派事件结束时

event_base_dispatch(ev_base);

C套接字库?你是说POSIX插座吗?你在使用什么操作系统?是的,我在ubuntu中使用C POSIX库