当前位置: 首页 > news >正文

做网站的如何找业务搜索引擎网站建设

做网站的如何找业务,搜索引擎网站建设,淄博建设工程学校官方网站,汕头网站建设报价一、TCP API函数 其中tcp_poll()函数的第三个参数表示隔几秒调用一次这个周期性函数 二、修改服务器的IP 三、TCP客户端编程思路 申请套接字绑定服务器IP和端口号等待客户端连接 进入连接回调函数在连接回调函数中 配置一些回调函数#xff0c;如接收回调函数#xff0c;周期…一、TCP API函数 其中tcp_poll()函数的第三个参数表示隔几秒调用一次这个周期性函数 二、修改服务器的IP 三、TCP客户端编程思路 申请套接字绑定服务器IP和端口号等待客户端连接 进入连接回调函数在连接回调函数中 配置一些回调函数如接收回调函数周期回调函数等等类似于QT里面的信号与槽机制等待一个信号的来临然后执行对应的函数在接收回调函数里面将 接收的消息发送给客户端 四、完整代码 tcp_client.c #include tcp_client.h #include stdlib.h #include stdio.h #include string.h#define IP0 192 #define IP1 168 #define IP2 1 #define IP3 104#define PORT 8080int Tcp_Client_Init(void) {struct tcp_pcb *tcp_client_pcb;struct ip_addr ipaddr;tcp_client_pcb tcp_new();//为tcp客户端分配一个tcp_pcb结构体if(tcp_client_pcb)//创建成功{IP4_ADDR(ipaddr, IP0, IP1, IP2, IP3);//连接到目的地址的指定端口上,当连接成功后回调tcp_client_connected()函数tcp_connect(tcp_client_pcb, ipaddr, PORT, tcp_client_connected);return 0;//初始化成功}return 1;//初始化失败 }//lwIP TCP连接建立后调用回调函数 static err_t tcp_client_connected(void *arg, struct tcp_pcb *pcb, err_t err) {struct tcp_client_struct *esNULL; if(errERR_OK) {//建立连接后发送一个connect success 信息tcp_write(pcb, STM32F407 connect success \r\n, strlen(STM32F407 connect success \r\n), 1);es(struct tcp_client_struct*)malloc(sizeof(struct tcp_client_struct)); es-stateES_TCPCLIENT_CONNECTED;//状态为连接成功es-pcbpcb; es-pNULL; //更新tpcb所有回调函数的参数arg。pcb:当前TCP连接的控制块、es:需要传递给回调函数的参数tcp_arg(pcb,es); //配置接收回调函数tcp_recv(pcb, tcp_client_recv);//配置回调函数该函数周期性调用,每隔一秒调用一次tcp_poll(pcb,tcp_client_poll,1); }else{return tcp_close(pcb);}return ERR_OK; }//lwIP tcp_recv()函数的回调函数 static err_t tcp_client_recv(void *arg, struct tcp_pcb *pcb, struct pbuf *tcp_recv_pbuf, err_t err) {struct pbuf *tcp_send_pbuf;struct tcp_client_struct *es (struct tcp_client_struct *)arg;//TCP客户端处于连接状态 且 接收到的数据不为空时if (es-stateES_TCPCLIENT_CONNECTED tcp_recv_pbuf ! NULL){// 扩大收发数据的窗口tcp_recved(pcb, tcp_recv_pbuf-tot_len);// 将接收的数据拷贝给发送结构体 tcp_send_pbuf tcp_recv_pbuf;// 将接收到的数据再转发出去,最后一个参数为1表示立即发送数据0表示将数据放入发送缓冲区等待下一个发送事件再发送。tcp_write(pcb, tcp_send_pbuf-payload, tcp_send_pbuf-len, 1);pbuf_free(tcp_recv_pbuf);}else if (err ! ERR_OK){if(es){free(es);esNULL;}if(tcp_recv_pbuf){pbuf_free(tcp_recv_pbuf);//释放接收pbuftcp_recv_pbufNULL;}return tcp_close(pcb);}return ERR_OK; }//lwIP tcp_poll的回调函数 err_t tcp_client_poll(void *arg, struct tcp_pcb *tpcb) {err_t ret_err;struct tcp_client_struct *es (struct tcp_client_struct*)arg;if(es!NULL) //连接处于空闲可以发送数据{}return ret_err; } tcp_client.h #ifndef __TCP_CLIENT_T #define __TCP_CLIENT_T#include lwip/debug.h #include lwip/stats.h #include lwip/tcp.h #include lwip/memp.h #include lwip/mem.h #include lwip_comm.h//tcp服务器连接状态 enum tcp_client_states {ES_TCPCLIENT_NONE 0, //没有连接ES_TCPCLIENT_CONNECTED, //连接到服务器了 ES_TCPCLIENT_CLOSING, //关闭连接 }; //LWIP回调函数使用的结构体 struct tcp_client_struct {u8 state;//当前连接状态struct tcp_pcb *pcb; //指向当前的pcbstruct pbuf *p; //指向接收/或传输的pbuf }; int Tcp_Client_Init(void); static err_t tcp_client_connected(void *arg, struct tcp_pcb *pcb, err_t err); static err_t tcp_client_recv(void *arg, struct tcp_pcb *pcb, struct pbuf *tcp_recv_pbuf, err_t err); err_t tcp_client_poll(void *arg, struct tcp_pcb *tpcb); void tcp_client_close_connection(struct tcp_pcb *tpcb);#endif 五、注意事项 如果出现客户端连接不上的情况可以看看是否可以ping通如果ping的过程中出现TTL传输中过期可以尝试将以太网禁用然后启用在等待一定的时间看是否可以连接成功。
http://www.hkea.cn/news/14498845/

相关文章:

  • 天堂网站什么是手机网站
  • 交友深圳网站建设青海省电话黄页
  • 深圳自建网站做中东市场哪个网站合适
  • 自己做网站 什么为什么不能自己做网站
  • 一个人做企业网站要多少天商业网站建设举例
  • 茂名专业做网站公司济宁百度推广电话
  • 通城做网站公司济南环保局官方网站
  • 保障房建设网站首页个人网站建站源码
  • 建站的好公司成都网站模板购买
  • jsp网站怎么做云南餐饮网站建设
  • 网站运营专员岗位要求商城网站源码dede
  • 1m带宽做网站怎么样拼多多刷销量网站开发
  • 做网站上传的程序在哪里下载网站开发 php模板
  • 铁路建设监理协会网站网站一屏的尺寸
  • 西樵建网站app制作开发的流程
  • 电影网站app怎么做好听的广告公司名字
  • 建筑工程图纸符号大全图解新网站该如何做网站优化呢
  • thinkphp购物网站开发视频如何做国际网站首页
  • 南昌做网站比较好的公司有哪些只用ip做网站 不备案
  • 网站规划管理系统南京江北新区房价
  • 做平面还有什么素材网站国外做电商网站有哪些方面
  • 天津自贸区建设局网站如何建设一个视频网站
  • 贵州专业网站建设公司哪家好优化网站浏览量怎么看
  • 手机怎么自己做网站天津招聘网人才招聘官网
  • 配音阁在线制作网站网站班级文化建设
  • 建站如何注重内容建设营销公关名词解释
  • 嘉兴建设网站无锡公司建立网站
  • 网站建设一般需要什么软件哪些公司做网站改造
  • 直播网站开发要多久成都网站制作电话
  • 想攻击一个网站怎么做湖南常德地图