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

西安网站建设多钱设计类型的网站

西安网站建设多钱,设计类型的网站,平阳县住房和城乡规划建设局网站,seo博客是什么意思转载请注明出处#xff1a;http://www.cnblogs.com/kevince/p/3891033.html ——By Kevince 最近在看linux网络编程相关#xff0c;现学现卖#xff0c;就写了一个简易的C/S即时通信程序#xff0c;代码如下#xff1a; head.h 1 /*头文件#xff0c;client和server…转载请注明出处http://www.cnblogs.com/kevince/p/3891033.html      ——By Kevince 最近在看linux网络编程相关现学现卖就写了一个简易的C/S即时通信程序代码如下 head.h 1 /*头文件client和server编译时都需要使用*/2 #include unistd.h3 #include stdio.h4 #include sys/types.h5 #include sys/socket.h6 #include string.h7 #include pthread.h8 #include stdlib.h9 #include netinet/in.h 10 #include arpa/inet.h 11 12 #define MSGLEN 1000 13 #define IPLEN 15 14 15 typedef int SOCKET; server.c: 1 /*server*/2 3 #include head.h4 5 char msg_recv[MSGLEN], msg_send[MSGLEN];6 SOCKET server_sockfd, client_sockfd;7 8 void *thread_function(void *argv) /*线程函数*/9 { 10 while(1){ 11 gets(msg_send); 12 write(client_sockfd, msg_send, MSGLEN); 13 } 14 pthread_exit(NULL); 15 } 16 17 int main(int arg, char *argv[]) 18 { 19 int server_len, client_len; 20 struct sockaddr_in server_address; 21 struct sockaddr_in client_address; 22 int port; 23 int res; 24 25 pthread_t a_thread; 26 void *thread_result; 27 28 if (arg ! 2){ 29 printf(server --portnum\n); 30 exit(EXIT_FAILURE); 31 } 32 33 sscanf(argv[1], %d, port); /*读入端口*/ 34 35 server_sockfd socket(AF_INET, SOCK_STREAM, 0); 36 server_address.sin_family AF_INET; 37 server_address.sin_addr.s_addr inet_addr(127.0.0.1); 38 server_address.sin_port htons(port); 39 40 server_len sizeof(server_address); 41 bind(server_sockfd, (struct sockaddr *)server_address, server_len); /*绑定端口并监听*/ 42 listen(server_sockfd, 10); 43 printf(listen...\n); 44 45 client_len sizeof(client_address); 46 client_sockfd accept(server_sockfd, (struct sockaddr *)client_address, client_len); 47 printf(connection success!\n); 48 49 res pthread_create(a_thread, NULL, thread_function, NULL); /*启动线程函数*/ 50 if (res ! 0){ 51 perror(Thread creation failed); 52 exit(EXIT_FAILURE); 53 } 54 55 while(read(client_sockfd, msg_recv, MSGLEN)){ 56 printf(msg from client: %s\n, msg_recv); 57 } 58 close(client_sockfd); 59 exit(EXIT_SUCCESS); 60 }   client.c: 1 /*client*/2 3 #include head.h4 5 char msg_recv[MSGLEN],msg_send[MSGLEN];6 SOCKET sockfd;7 8 void *thread_function(void *argv) /*线程函数*/9 { 10 while(1){ 11 gets(msg_send); 12 write(sockfd, msg_send, MSGLEN); 13 } 14 pthread_exit(NULL); 15 } 16 17 int main(int arg, char *argv[]) 18 { 19 struct sockaddr_in address; 20 int len; 21 int res; 22 int port; 23 char ip[IPLEN]; 24 25 void *thread_result; 26 pthread_t a_thread; 27 28 sockfd socket(AF_INET, SOCK_STREAM, 0); 29 30 if (arg ! 3){ 31 printf(client --ipaddress --portnum\n); 32 exit(EXIT_FAILURE); 33 } 34 35 sscanf(argv[1], %s, ip); 36 sscanf(argv[2], %d, port); /*读取ip与端口*/ 37 38 address.sin_family AF_INET; 39 address.sin_addr.s_addr inet_addr(ip); 40 address.sin_port htons(port); 41 42 len sizeof(address); 43 res connect(sockfd, (struct sockaddr *)address, len); 44 if (res -1){ 45 perror(connect failed! ); 46 exit(EXIT_FAILURE); 47 } 48 printf(connection success!\n); 49 50 res pthread_create(a_thread, NULL, thread_function, NULL); /*启动线程函数*/ 51 if (res ! 0){ 52 perror(Thread creation failed); 53 exit(EXIT_FAILURE); 54 } 55 56 while(read(sockfd, msg_recv, MSGLEN)){ 57 printf(msg from server: %s\n, msg_recv); 58 } 59 res pthread_join(a_thread, thread_result); 60 if (res ! 0){ 61 perror(joined failed); 62 exit(EXIT_FAILURE); 63 } 64 exit(EXIT_SUCCESS); 65 }     由于使用了线程所以要链接正确的线程库所以编译命令如下 gcc -D_REENTRANT -I/usr/include/nptl server.c -o server -L/usr/lib/nptl -lpthreadgcc -D_REENTRANT -I/usr/include/nptl client.c -o client -L/usr/lib/nptl -lpthread   如果你的系统默认使用的就是NPTL线程库那么编译时就无需加上-I和-L选项   运行时输入的命令规则是 ./server --portnum #即server后面要加上需要绑定的端口号。./client --ip --portnum #即client后面要加上服务器的IP地址以及端口号。     不积跬步无以至千里虽然这两个程序很简单但作为我的第一个linux环境下基于socket的通信程序也很有纪念意义。转载于:https://www.cnblogs.com/kevince/p/3891033.html
http://www.zqtcl.cn/news/16867/

相关文章:

  • 常州市建设工程管理中心网站外贸是什么意思
  • 动易学校网站网站建设需求分析流程
  • 甘肃省建设厅网站首页绿色建筑企业展厅建筑
  • 俄华网站建设厦门免费网站建设
  • 沈阳网站推广排名方案网站怎么算抄袭
  • 公司增加英文网站要怎么做wordpress ping插件
  • 公司网站模板个人公众号申请要钱吗
  • 高端品牌网站建设有哪些优化大师免安装版
  • 关键词堆砌的作弊网站十大房产中介软件
  • 沈阳市网站设计制作公司外贸建站 wordpress
  • 贵州省两学一做网站敬请期待同义词
  • 网站后台管理员密码忘记茂名住房和城乡建设局网站
  • 网站建设与开发学习随州seo优化
  • 电子商务网站建设与管理项目计划书个人社保缴费信息查询
  • 微信网站服务器要求网站qq弹窗代码
  • 微信网站设计尺寸信息安全工程师含金量
  • ps手机网站制作网站关键词进前三
  • 如何搭建自己的网站服务器地址潜江网页
  • 南川集团网站建设公司起名吉祥字大全
  • 河北省廊坊市建设网站400大看免费行情的软件
  • 商务网站开发报告建设网站公司那里好相关的热搜问题解决方案
  • 网站开发多用什么语言建公司网站设计网站公司
  • 织梦的cms哪些网站怎么把网站加入黑名单
  • 网站接任务来做电子商务网站建设管理答案
  • 秦皇岛企业建设网站秀山网站建设端午节手抄报获奖
  • 什么网站代做毕业设计比较好中国设计人才网
  • 大门户wordpress主题破解版贵州seo学校
  • 网站建设 合作协议杭州建设网 执法人员名单
  • 营销型网站建设遨龙河北注册公司流程和费用
  • php mysql网站开发项目式教程制作响应式网站