关键词不能为空

当前您在: 主页 > 英语 >

libuv之基础

作者:高考题库网
来源:https://www.bjmy2z.cn/gaokao
2021-02-08 11:53
tags:

-

2021年2月8日发(作者:海珍品)


libuv


之基础








TCP


客户端连接步骤:



.连接方法


Uv_loop_t *loop =


uv_default_loop(); uv_tcp_t *client =


malloc…;uv_connect_t* connect_req = malloc…;


uv_tcp_init(loop, client) uv_tcp_connect(connect_req,



client, addr,



connect_cb); uv_run(loop); getchar(); / /


服务


端不需要这个,


现在还不明白为 什么



②.回调函数


static void


connect_cb(uv_connect_t*req, int status){










int r;










uv_buf_t buf = uv_buf_init(


这 必须是动态分


配内存,在


uv_write

函数内部会对这个指针赋值。











uv_write_t *reqw = (uv_write_t*)malloc(sizeof *reqw);












write_cb


中,释放分配的内存。











r =


uv_write(reqw, (uv_stream_t*)(req->handle),&buf,


1, write_cb);} static void write_cb(uv_write_t*req, int


status){}static void read_cb(uv_stream_t*tcp, ssize_t nread,


uv_buf_t buf){}uv_connect_tis a subclass of uv_req_t











服务端连接步骤①.连接方法











loop =


uv_default_loop();











structsockaddr_in addr =


uv_ip4_addr(










int r;











server = (uv_handle_t*)&tcpServer;










r =


uv_tcp_init(loop, &tcpServer);










if


(r){




















std::cout <<


error




















return;










}











r =


uv_tcp_bind(&tcpServer, addr);










if


(r){




















std::cout <<


std::endl;




















return;










}











r =uv_listen((uv_stream_t*)&tcpServer, 10,


on_connection);










if


(r){




















std::cout <<


<< std::endl;




















return;










}











uv_run(loop); ②.回调函数


static


voidon_connection(uv_stream_t* server, int


status){










uv_stream_t* stream;










int r;


用这


种方式来初始化一个新连接











stream =


(uv_stream_t*)malloc(sizeof(uv_tcp_t));










ASSERT(stream != NULL);










r =


uv_tcp_init(loop,(uv_tcp_t*)stream);










stream->data = server;










r = uv_accept(server,


stream);} *uv_stream_t is a subclass of uv_handle_t * *


uv_stream is an abstract class. * * uv_stream_t is the


parent class of uv_tcp_t,uv_pipe_t, uv_tty_t, and * soon


uv_file_t.


在客户端的连接中

Uv_tcp_connect(connect_req…);connec


t_ req


是一个


uv_connect_t*

参数,相应的


connect_cb


的第一个参数为


uv_connect_t*,(uv_connect_t



uv_req_t


的子类


)


服务端的


连接中


uv_listen((uv_str eam_t*)&tcpServer,10,


on_connection );


相应的


on_connect


的第 一个参数为


uv_stream_t*


看来

< br>


的思想和


ACE


非常像,把请求


对象和连接对象分别封装成不同概念的东西。





open


创建套接字然后使用


uv_tcp_open


,再


uv_tcp_connect


时,


函数内部不会再 创建套接字,仅此而已。



_read_stopUv_rea d_stop((uv_stream_t*)&tcp_ha


ndle);U v_close((uv_handle_t*)tcp_handle); UDP


客户端:











uv_udp_send_t req;










r =


uv_udp_init(uv_default_loop(),&clie nt);










ASSERT(r == 0);











buf = uv_buf_init(










r = uv_udp_send(&req, &client,&buf, 1, addr,


cl_send_cb);











voidcl_send_cb(uv_udp_send_t*


req, intstatus)










{}UDP


服务端:











r =


uv_udp_init(uv_default_l oop(),&server);










ASSERT(r == 0);











r = uv_udp_bind(&server,


addr, 0);










ASSERT(r == 0);











r =


uv_udp_recv_start(&server,alloc_cb, sv_recv_cb);










ASSERT(r == 0);







static void sv_recv_cb(uv_udp_t*

-


-


-


-


-


-


-


-



本文更新与2021-02-08 11:53,由作者提供,不代表本网站立场,转载请注明出处:https://www.bjmy2z.cn/gaokao/614347.html

libuv之基础的相关文章

  • 余华爱情经典语录,余华爱情句子

    余华的经典语录——余华《第七天》40、我不怕死,一点都不怕,只怕再也不能看见你——余华《第七天》4可是我再也没遇到一个像福贵这样令我难忘的人了,对自己的经历如此清楚,

    语文
  • 心情低落的图片压抑,心情低落的图片发朋友圈

    心情压抑的图片(心太累没人理解的说说带图片)1、有时候很想找个人倾诉一下,却又不知从何说起,最终是什么也不说,只想快点睡过去,告诉自己,明天就好了。有时候,突然会觉得

    语文
  • 经典古训100句图片大全,古训名言警句

    古代经典励志名言100句译:好的药物味苦但对治病有利;忠言劝诫的话听起来不顺耳却对人的行为有利。3良言一句三冬暖,恶语伤人六月寒。喷泉的高度不会超过它的源头;一个人的事

    语文
  • 关于青春奋斗的名人名言鲁迅,关于青年奋斗的名言鲁迅

    鲁迅名言名句大全励志1、世上本没有路,走的人多了自然便成了路。下面是我整理的鲁迅先生的名言名句大全,希望对你有所帮助!当生存时,还是将遭践踏,将遭删刈,直至于死亡而

    语文
  • 三国群英单机版手游礼包码,三国群英手机单机版攻略

    三国群英传7五神兽洞有什么用那是多一个武将技能。青龙飞升召唤出东方的守护兽,神兽之一的青龙。玄武怒流召唤出北方的守护兽,神兽之一的玄武。白虎傲啸召唤出西方的守护兽,

    语文
  • 不收费的情感挽回专家电话,情感挽回免费咨询

    免费的情感挽回机构(揭秘情感挽回机构骗局)1、牛牛(化名)向上海市公安局金山分局报案,称自己为了挽回与女友的感情,被一家名为“实花教育咨询”的情感咨询机构诈骗4万余元。

    语文