libuv tcp client
windows 和 linux 包含
windows下要包含一些lib库,这个需要加进去
#if defined (WIN32) || defined (_WIN32)
#include <WinSock2.h>
#include <windows.h>
#pragma comment(lib,"ws2_32.lib")
#pragma comment(lib,"psapi.lib")
#pragma comment(lib,"Iphlpapi.lib")
#pragma comment(lib,"Userenv.lib")#else
#include <sys/types.h>
#include <netinet/in.h>
#endif
show me the code
为了和服务器链接测试使用的代码,以下是服务器代码
modbus tcp server 文章
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <uv.h>#define DEFAULT_IP "127.0.0.1"
#define DEFAULT_PORT 7001struct sockaddr_in dest;
uv_timer_t* timer;
uv_loop_t* loop;
uv_write_t write_req;void write_cb(uv_write_t* req, int status)
{if (status < 0) {printf("%s\n", uv_strerror(status));return;}free(req);
}void timer_cb(uv_timer_t* timer)
{uv_buf_t buff = uv_buf_init("hellohappynihaowoshi", 20);uv_connect_t* connect = (uv_connect_t*)timer->data;uv_stream_t* tcp = connect->handle;int buf_count = 1;uv_write(&write_req, tcp, &buff, buf_count, write_cb);
}void on_connect(uv_connect_t* connect, int status)
{if (status < 0) {printf("connect error: %s!\n", uv_strerror(status));return;}printf("connect success!");timer = (uv_timer_t*)calloc(sizeof(uv_timer_t), 1);timer->data = connect;uv_timer_init(loop, timer);uv_timer_start(timer, timer_cb, 0, 300);}typedef struct client_context
{uv_loop_t * loop = NULL;uv_tcp_t socket;uv_connect_t connect;//const char * ip;//uint16_t port;struct sockaddr_in dest;uv_write_t write_req;
}client_context;int send(uint8_t * data, size_t len)
{return 0;
}
void init_client_context(client_context * cc,const char * ip,uint16_t port)
{if (cc == NULL)return;cc->loop = uv_default_loop();uv_tcp_init(cc->loop, &cc->socket);//cc->ip = ip;//cc->port = port;uv_ip4_addr(ip, port, &dest);
}int connect(client_context * cc)
{if (cc == NULL)return -1;int ret = uv_tcp_connect(&cc->connect, &cc->socket, (const struct sockaddr*)&dest, on_connect);if (ret) {fprintf(stderr, "Connect error: %s\n", uv_strerror(ret));return 0;}return uv_run(loop, UV_RUN_DEFAULT);}int main(int argc, char **argv) {loop = uv_default_loop();uv_tcp_t socket;uv_tcp_init(loop, &socket);uv_connect_t connect;uv_ip4_addr(DEFAULT_IP, DEFAULT_PORT, &dest);int ret = uv_tcp_connect(&connect, &socket, (const struct sockaddr*)&dest, on_connect);if (ret) {fprintf(stderr, "Connect error: %s\n", uv_strerror(ret));return 0;}return uv_run(loop, UV_RUN_DEFAULT);
}
代码比较简单,不做解释,请和服务端配合使用,需要修改端口。
libuv tcp client相关推荐
- codeblock socket 编译错误_从Linux源码看Socket(TCP)Client端的Connect
从Linux源码看Socket(TCP)Client端的Connect 前言 笔者一直觉得如果能知道从应用到框架再到操作系统的每一处代码,是一件Exciting的事情. 今天笔者就来从Linux源码的 ...
- nodejs TCP server和TCP client如何进行数据交互
使用Jerry之前的文件成功建立服务器端和客户端的TCP连接后,客户端得到一个client实例: async function startClient(ip = configJson.TCP.clie ...
- nodejs TCP server和TCP client如何建立连接
首先客户端和服务器端通信得需要一个消息结构,我用如下的构造函数创建一个消息结构,包含消息正文和消息类型(method): function message(_data,_method = '') {_ ...
- Modbus协议栈开发笔记之四:Modbus TCP Client开发
这一次我们封装Modbus TCP Client应用.同样的我们也不是做具体的应用,而是实现TCP客户端的基本功能.我们将TCP客户端的功能封装为函数,以便在开发具体应用时调用. 对于TCP客户端我们 ...
- 网络通信之TCP Client通信(基于Arduino)
网络通信之TCP Client通信(基于Arduino) 前期准备 实验要求 具体方法 程序流程 程序 实验现象 后续 前期准备 Arduino IDE ESPDuino Arduino ESP826 ...
- swoole深入学习 2. tcp Server和tcp Client
swoole深入学习 2. tcp Server和tcp Client 标签(空格分隔): swoole 这节来学习Swoole最基础的Server和Client.会通过创建一个tcp Server来 ...
- STM32F1 W5500 TCP Client 回环测试
刚刚接触W5500的时候,做TCP Client回环测试的时候,出现很奇怪的问题,查了好多遍代码,死活连接不上PC网络助手的TCPServer.其实代码本身没什么大问题,PC机的防火墙忘记关闭了.总结 ...
- 关于HML要玩物联网这件事 之 CC3200 TCP Client
假装是个引言 去年TI难得发了次大福利,圣诞节派送CC3200开发板.本辣鸡博主抢得早,加上没落C9.edu.cn 邮箱加持,抽奖居然抽中了.TI不论是赞助竞赛还是送板子,目的都很明确,就是想推广自己 ...
- ESP8266开发之旅 网络篇⑦ TCP Server TCP Client
授人以鱼不如授人以渔,目的不是为了教会你具体项目开发,而是学会学习的能力.希望大家分享给你周边需要的朋友或者同学,说不定大神成长之路有博哥的奠基石... 共同学习成长QQ群 622368884,不喜勿 ...
最新文章
- java web学习项目20套源码完整版
- Linux 常用命令全称,看看你 get 到了哪些?
- Java面试题40道
- java表格更新javadb_Java解析excel表格(新)
- 第七届蓝桥杯(国赛)——随意组合-dfs,next_permutation
- mysql一:初识数据库
- vue-router中hash模式、history模式原理
- php 修改 wordpress,wordpress如何修改php.ini
- PDF转CAD到底哪个软件比较好?
- 国际标准化比率 INR
- (一)SPSS 输出表格样式设置操作——三线表(论文表格常用样式)
- html空间进入动画界面,HTML5 / CSS3 Transform / Animation 示例页面
- 908c语言程序设计,2021考研大纲:武汉轻工大学908C语言程序设计2021年硕士研究生入学考试初试科目考试大纲...
- 华为网络生成树协议-STP
- Python计算机视觉编程第四章——照相机模型与增强现实
- Jenkins(10) 配置邮件通知
- 椭圆曲线加密原理与应用
- 淘客代理app平台最好选择之花卷云淘客app
- 分糖果问题-----medium
- 高电压放大器在超声波无损检测技术中的应用
热门文章
- C语言库文件ctype.h中重要的库函数
- TOMCAT开放远程调试端口
- 时间特效。js读取时间
- QQ音乐首发“无缝播放”新功能 音乐流媒体平台陆续上线
- 苹果要换Type-C接口?丁磊建议统一充电器接口 工信部回复来了...
- 一台比亚迪秦EV充电时自燃 相关人员:无人员伤亡、起火未爆炸
- 实测6大App「青少年模式」:有徒具形式,也有虚情假意!
- 微信圈子将于12月28日停止运营,网友:不是微信朋友圈?
- 罗永浩:当年签了 “流氓协议” 将公布这个恶劣投资者
- 百度吉利成立的汽车公司名称曝光,百度持股55%