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

定制网站开发多少钱哪个网站建设平台支持花呗分期

定制网站开发多少钱,哪个网站建设平台支持花呗分期,15个html5手机网站模板,什么是seo标题优化我要成为嵌入式高手之3月7日Linux高编第十七天#xff01;#xff01; ———————————————————————————— 回顾 重要程序 1、UDP实现文件的发送 发端#xff1a; #include head.hint main(void) {int sockfd 0;struct sockaddr_i…我要成为嵌入式高手之3月7日Linux高编第十七天 ———————————————————————————— 回顾 重要程序 1、UDP实现文件的发送 发端 #include head.hint main(void) {int sockfd 0;struct sockaddr_in recvaddr;ssize_t nsize 0;int ret 0;int fd 0;char pathname[1024] {0};char tmpbuff[1024] {0};ssize_t nret;sockfd socket(AF_INET, SOCK_DGRAM, 0);if (-1 sockfd){perror(fail to socket);return -1;}recvaddr.sin_family AF_INET;recvaddr.sin_port htons(33333);recvaddr.sin_addr.s_addr inet_addr(192.168.1.167);memset(pathname, 0, sizeof(pathname));gets(pathname);nsize sendto(sockfd, pathname, strlen(pathname), 0, (struct sockaddr *)recvaddr, sizeof(recvaddr));if (nsize -1){perror(fail to sendto);return -1;}fd open(pathname, O_RDONLY);if (fd -1){perror(fail to open);return -1;}printf(pathname: %s\n, pathname);while (1){usleep(10);nret read(fd, tmpbuff, sizeof(tmpbuff));nsize sendto(sockfd, tmpbuff, nret, 0, (struct sockaddr *)recvaddr, sizeof(recvaddr));if (nsize -1){perror(fail to sendto tmpbuff);return -1;}if (nret 0){break;}}sprintf(tmpbuff, |__quit__|);nsize sendto(sockfd, tmpbuff, strlen(tmpbuff)1, 0, (struct sockaddr *)recvaddr, sizeof(recvaddr));if (nsize -1){perror(fail to sendto tmpbuff);return -1;}printf(成功发送 %s 文件\n, pathname);close(fd);close(sockfd);return 0; }收端 #include head.hint main(void) {int ret 0;int sockfd 0;char tmpbuff[4096] {0};struct sockaddr_in recvaddr;ssize_t nsize 0;struct sockaddr_in sendaddr;socklen_t len sizeof(sendaddr);sockfd socket(AF_INET, SOCK_DGRAM, 0);if (sockfd -1){perror(fail to socket);return -1;}recvaddr.sin_family AF_INET;recvaddr.sin_port htons(33333);recvaddr.sin_addr.s_addr inet_addr(192.168.1.167);ret bind(sockfd, (struct sockaddr *)recvaddr, sizeof(recvaddr));if (ret -1){perror(fail to bind);return -1;}nsize recvfrom(sockfd, tmpbuff, sizeof(tmpbuff), 0, (struct sockaddr *)sendaddr, len);if (nsize -1){perror(fail to recvfrom);return -1;}// printf(%s:%d接受到%ld个字节%s\n,inet_ntoa(sendaddr.sin_addr),ntohs(sendaddr.sin_port),nsize,tmpbuff);int fd 0;char ch[1024] {0};fd open(tmpbuff,O_WRONLY | O_CREAT | O_TRUNC, 0664);if (fd -1){perror(fail to fopen);return -1;}while(nsize ! 0){memset(ch, 0, sizeof(ch));nsize recvfrom(sockfd, ch, sizeof(ch), 0, (struct sockaddr *)sendaddr, len);if (nsize -1){perror(fail to recvfrom);return -1;}if (!strcmp(ch,1)){break;}write(fd,ch,nsize);printf(写入%ld字节\n,nsize);}printf(接受完成!\n);close(fd);close(sockfd);return 0; } 2、UDP实现全双工的聊天 发送端 #include head.hchar name[32] {0}; int sockfd 0; struct sockaddr_in recvaddr; pthread_t tid_send; pthread_t tid_recv;void *sendfun(void *arg) {ssize_t nsize 0;struct msgbuf sendmsg;while(1){memset(sendmsg, 0, sizeof(sendmsg));sendmsg.type MSG_TYPE_CHAT;sprintf(sendmsg.name, %s, name);gets(sendmsg.text); if (!strcmp(sendmsg.text, .quit)){sendmsg.type MSG_TYPE_END;}nsize sendto(sockfd, sendmsg, sizeof(sendmsg), 0, (struct sockaddr *)recvaddr, sizeof(recvaddr));if (nsize -1){perror(fail to sendto);return NULL;}if (sendmsg.type MSG_TYPE_END){break;}}pthread_cancel(tid_recv);return NULL; }void *recvfun(void *arg) {struct msgbuf recvmsg;ssize_t nsize 0;while(1){memset(recvmsg, 0, sizeof(recvmsg));nsize recvfrom(sockfd, recvmsg, sizeof(recvmsg), 0, NULL, NULL);if (-1 nsize){perror(fail to recvfrom);return NULL;}if (recvmsg.type MSG_TYPE_CHAT){printf(%s(%s:%d)%s\n, recvmsg.name, RECV_ADDR, RECV_PORT, recvmsg.text);}else if (recvmsg.type MSG_TYPE_END){break;}}pthread_cancel(tid_send);return NULL; }int main(void) {ssize_t nsize 0;struct msgbuf sendmsg;/*设置接收方信息*/recvaddr.sin_family AF_INET;recvaddr.sin_port htons(RECV_PORT);recvaddr.sin_addr.s_addr inet_addr(RECV_ADDR);/*输入昵称*/printf(请输入您的昵称:\n);gets(name);/*创建套接字*/sockfd socket(AF_INET, SOCK_DGRAM, 0);if (sockfd -1){perror(fail to sockfd);return -1;}/*设置要发送的信息*/memset(sendmsg, 0, sizeof(sendmsg));sendmsg.type MSG_TYPE_START;sprintf(sendmsg.name, %s, name);/*发送信息*/nsize sendto(sockfd, sendmsg, sizeof(sendmsg), 0, (struct sockaddr *)recvaddr, sizeof(recvaddr));if (nsize -1){perror(fail to sendto);return -1;}pthread_create(tid_send, NULL, sendfun, NULL);pthread_create(tid_recv, NULL, recvfun, NULL);pthread_join(tid_send, NULL);pthread_join(tid_recv, NULL);close(sockfd);return 0; }接收端 #include head.hchar name[32] {0}; int sockfd 0; struct sockaddr_in recvaddr; struct sockaddr_in sendaddr; pthread_t tid_send; pthread_t tid_recv;void *sendfun(void *arg) {ssize_t nsize 0;struct msgbuf sendmsg;while(1){memset(sendmsg, 0, sizeof(sendmsg));sendmsg.type MSG_TYPE_CHAT;sprintf(sendmsg.name, %s, name);gets(sendmsg.text); if (!strcmp(sendmsg.text, .quit)){sendmsg.type MSG_TYPE_END;}nsize sendto(sockfd, sendmsg, sizeof(sendmsg), 0, (struct sockaddr *)sendaddr, sizeof(sendaddr));if (nsize -1){perror(fail to sendto);return NULL;}if (sendmsg.type MSG_TYPE_END){break;}}pthread_cancel(tid_recv);return NULL; }void *recvfun(void *arg) {struct msgbuf recvmsg;ssize_t nsize 0;while(1){memset(recvmsg, 0, sizeof(recvmsg));nsize recvfrom(sockfd, recvmsg, sizeof(recvmsg), 0, NULL, NULL);if (-1 nsize){perror(fail to recvfrom);return NULL;}if (recvmsg.type MSG_TYPE_CHAT){printf(%s(%s:%d)%s\n, recvmsg.name, inet_ntoa(sendaddr.sin_addr), ntohs(sendaddr.sin_port), recvmsg.text);}else if (recvmsg.type MSG_TYPE_END){break;}}pthread_cancel(tid_send);return NULL; }int main(void) {char tmpbuff[1024] {0};struct msgbuf recvmsg;int ret 0;socklen_t addrlen sizeof(sendaddr);/*设置接收方信息*/recvaddr.sin_family AF_INET;recvaddr.sin_port htons(RECV_PORT);recvaddr.sin_addr.s_addr inet_addr(RECV_ADDR);/*输入昵称*/printf(请输入您的昵称:\n);gets(name);/*创建套接字*/sockfd socket(AF_INET, SOCK_DGRAM, 0);if (sockfd -1){perror(fail to sockfd);return -1;}ret bind(sockfd, (struct sockaddr *)recvaddr, sizeof(recvaddr));if (-1 ret){perror(fail to bind);return -1;}/*设置要发送的信息*/memset(recvmsg, 0, sizeof(recvmsg));/*接收信息*/ret recvfrom(sockfd, recvmsg, sizeof(recvmsg), 0, (struct sockaddr *)sendaddr, addrlen);if (ret -1){perror(fail to recvfrom);return -1;}pthread_create(tid_send, NULL, sendfun, NULL);pthread_create(tid_recv, NULL, recvfun, NULL);pthread_join(tid_recv, NULL);pthread_join(tid_send, NULL);close(sockfd);return 0; }head.h #ifndef _HEAD_H #define _HEAD_H#include sys/stat.h #include sys/types.h #include unistd.h #include fcntl.h #include stdio.h #include string.h #include dirent.h #include time.h #include pwd.h #include stdlib.h #include grp.h #include sys/wait.h #include pthread.h #include semaphore.h #include signal.h #include sys/ipc.h #include sys/msg.h #include sys/shm.h #include sys/sem.h #include sys/socket.h #include netinet/ip.h #include netinet/in.h #include arpa/inet.hstruct msgbuf {int type; //消息类型char name[32]; //昵称char text[32]; //消息 };#define MSG_TYPE_START 100 //开始聊天消息类型 #define MSG_TYPE_END 200 //退出聊天消息类型 #define MSG_TYPE_CHAT 300 //聊天消息类型 #define RECV_ADDR 192.168.1.172 //接收端地址 #define RECV_PORT 50000 //接收端端口#endif学习笔记 TCP通信 TCP发端(客户端) socket - connect - send / recv- close TCP收端(服务端) socket - bind - listen - accept - send / recv - close 1、connect #include sys/types.h          /* See NOTES */ #include sys/socket.h int connect(int sockfd, const struct sockaddr *addr,socklen_t addrlen); 功能发起链接请求 参数 sockfd套接字的描述符 addr目的地址存放空间首地址 addrlenIP地址的大小 返回值成功0失败-1 2、send #include sys/types.h #include sys/socket.h ssize_t send(int sockfd, const void *buf, size_t len, int flags); 功能发送数据 参数 sockfd套接字描述符 buf发送数据空间的首地址 len发送数据的长度 flags属性默认为0 返回值 成功返回实际发送字节数 失败返回-1 3、recv #include sys/types.h #include sys/socket.h ssize_t recv(int sockfd, void *buf, size_t len, int flags); 功能接收数据 参数 sockfd套接字描述符 buf存放数据空间首地址 len最大接收数据的长度 flags属性默认0 返回值 成功返回实际接收字节数失败返回-1 若对方退出返回0 客户端 #include head.hint main(void) {int ret 0;int sockfd 0;struct sockaddr_in serveaddr;char tmpbuff[1024] {0};ssize_t nsize 0;sockfd socket(AF_INET, SOCK_STREAM, 0);if (-1 sockfd){perror(fail to socket);return -1;}serveaddr.sin_family AF_INET;serveaddr.sin_port htons(50000);serveaddr.sin_addr.s_addr inet_addr(192.168.1.101);ret connect(sockfd, (struct sockaddr *)serveaddr, sizeof(serveaddr));if (ret -1){perror(fail to connect);return -1;}gets(tmpbuff);nsize send(sockfd, tmpbuff, strlen(tmpbuff), 0);if (nsize -1){perror(fail to send);return -1;}memset(tmpbuff, 0, sizeof(tmpbuff));nsize recv(sockfd, tmpbuff, sizeof(tmpbuff), 0);if (nsize -1){perror(fail to recv);return -1;}printf(RECV: %s\n, tmpbuff);close(sockfd);return 0; }4、listen #include sys/types.h          /* See NOTES */ #include sys/socket.h int listen(int sockfd, int backlog); 功能监听客户端发送的链接请求不会阻塞 参数 sockfd套接字描述符 backlog允许等待的尚未被处理的三次握手请求的最大个数 返回值成功0失败-1 5、accept #include sys/types.h          /* See NOTES */ #include sys/socket.h int accept(int sockfd, struct sockaddr *addr, socklen_t *addrlen); 功能 处理等待链接队列中的第一个链接请求若没有人发送链接请求会阻塞等待直到有连接请求 参数 sockfd套接字描述符 addr存放IP地址的空间首地址 addrlen存放IP地址大小空间首地址 返回值 成功返回一个新的文件描述符 失败返回-1 服务端 #include head.hint main(void) {int sockfd 0;struct sockaddr_in serveaddr;int ret 0;int confd 0;ssize_t nsize 0;char tmpbuff[1024] {0};serveaddr.sin_family AF_INET;serveaddr.sin_port htons(50000);serveaddr.sin_addr.s_addr INADDR_ANY;sockfd socket(AF_INET, SOCK_STREAM, 0);if (sockfd -1){perror(fail to socket);return -1;}ret bind(sockfd, (struct sockaddr *)serveaddr, sizeof(serveaddr));if (ret -1){perror(fail to bind);return -1;}ret listen(sockfd, 10);if (-1 ret){perror(fail to listen);return -1;}confd accept(sockfd, NULL, NULL);if (-1 confd){perror(fail to accept);return -1;}nsize recv(confd, tmpbuff, sizeof(tmpbuff), 0);if (-1 nsize){perror(fail to recv);return -1;}printf(RECV: %s\n, tmpbuff);memset(tmpbuff, 0, sizeof(tmpbuff));gets(tmpbuff);nsize send(confd, tmpbuff, strlen(tmpbuff), 0);if (-1 nsize){perror(fail to send);return -1;}close(confd);close(sockfd);return 0; }
http://www.dnsts.com.cn/news/87476.html

相关文章:

  • 河南网站建设运营域名注册公司网站私信界面
  • 中石油网页设计与网站建设网站建设与管理工作内容
  • 技术支持 网站建设福千欣隆网站建设公司 概况
  • 网站收录有什么用做网站是用什么语言做成的
  • 官方网站旗舰店网络的结构
  • 岳麓 网站设计创建公司网站需要准备哪些素材
  • wordpress主题取消中山市企业网站seo营销工具
  • vps如果制作论坛网站品牌logo设计在线生成
  • 武进建设局网站首页科普网站建设方案
  • 女程序员可以干到多少岁网站营销优化
  • 单页网站模板修改吗发布 php 微网站
  • 满洲里网站建设整站下载器 做网站地图
  • 沛县网站企业网站备案系统
  • 六盘水市网站建设美食网站开发的目标
  • 湖南智能网站建设平台百度爱采购优化排名软件
  • 高平网站优化公司毕业答辩问题怎么做的这个网站
  • 深圳建设管理中心网站正规网站开发流程
  • 英文外贸网站制作外贸网站 流量
  • 做网站要好多钱WordPress添加ftp
  • 建站模板 discuzwordpress注册未发邮件
  • 山东省建设工程注册中心网站群晖wordpress端口无法登陆
  • 洛阳网站建设启辰网络微舍 微网站 怎么做
  • 免费网站建设咨询手工企业网站模板
  • 电子商务网站建设与管理案例如何将网站开发成微信小程序
  • 长春网长春网站建设络推广旺店通app手机企业版下载
  • 枣庄学习建设网站培训徐州英才网最新招聘信息
  • 深圳龙华区住房和建设局网站京东app下载官网免费下载
  • 网站开发代理报价表网站建设费用的账务处理
  • 做网站要霸屏吗全球云邮登陆网站
  • 用网站模板做网站wordpress站点标题副标题换行