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

电脑做任务赚钱网站小程序开发多少钱

电脑做任务赚钱网站,小程序开发多少钱,网店网页制作工具,百度云免费做网站目录 1.编程流程 2.代码演示 2.1 服务器代码 2.2 客户端代码 3.注意 3.1 ping命令 3.2 netstat命令 3.3 为什么memset? 3.4 哪个会阻塞? 3.5 显示连接信息 1.概念 1.1 编程流程 1.2 connect与listen connect方法执行后,会进行三次握手,建立连…

目录

1.编程流程

2.代码演示

2.1 服务器代码

 2.2 客户端代码

3.注意

3.1 ping命令

3.2 netstat命令

3.3 为什么memset?

3.4 哪个会阻塞?

3.5 显示连接信息


1.概念

1.1 编程流程

1.2 connect与listen

connect方法执行后,会进行三次握手,建立连接。

listen的第二个参数的含义?

已完成三次握手的等待队列的长度 

2.代码演示

2.1 服务器代码

#include <stdio.h>
#include <stdlib.h>
#include <assert.h>
#include <unistd.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <string.h>
int main()
{int sockfd=socket(AF_INET,SOCK_STREAM,0);//监听套接字assert(sockfd!=-1);struct sockaddr_in saddr,caddr;memset(&saddr,0,sizeof(saddr));saddr.sin_family=AF_INET;saddr.sin_port=htons(6000);//主机,网络大小端转换saddr.sin_addr.s_addr=inet_addr("127.0.0.1");//IP地址转换int res=bind(sockfd,(struct sockaddr*)&saddr,sizeof(saddr));assert(res!=-1);res=listen(sockfd,5);assert(res!=-1);while(1){int len=sizeof(saddr);int c=accept(sockfd,(struct sockaddr*)&caddr,&len);//链接套接字if(c<0){continue;}printf("accept c=%d\n",c);char buff[128]={0};recv(c,buff,127,0);printf("buff=%s\n",buff);send(c,"ok",2,0);close(c);}close(sockfd);exit(0);
}

 2.2 客户端代码

#include <stdio.h>
#include <stdlib.h>
#include <assert.h>
#include <unistd.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <string.h>
int main()
{int sockfd=socket(AF_INET,SOCK_STREAM,0);//监听套接字assert(sockfd!=-1);struct sockaddr_in saddr;memset(&saddr,0,sizeof(saddr));saddr.sin_family=AF_INET;saddr.sin_port=htons(6000);saddr.sin_addr.s_addr=inet_addr("127.0.0.1");int res=connect(sockfd,(struct sockaddr*)&saddr,sizeof(saddr));assert(res!=-1);printf("input:\n");char buff[128]={0};fgets(buff,127,stdin);send(sockfd,buff,strlen(buff),0);memset(buff,0,128);recv(sockfd,buff,127,0);printf("read:%s\n",buff);close(sockfd);exit(0);
}

运行结果: 

 

3.注意

3.1 ping命令

如果出错了,可以使用ping命令
ping主要用来测试两个主机之间的连通性

3.2 netstat命令

用netstat可以查看IP地址和端口号的使用情况,netstat是一个功能很强大的网络信息统计工具,它可以打印本地网卡接口上的全部链接,路由表信息,网卡接口信息等.
网络编程我们主要用的就是,显示TCP连接及其状态信息

运行服务器代码再执行netstat命令:

运行服务器和客户端代码再执行netstat命令:

 

3.3 为什么memset?

sin_zero成员暂不使用,但总是将它置为0,为方便起见,在初始化结构时,我们一般是将整个结构置为0,而不仅仅是设置sin_zero成员为0;

3.4 哪个会阻塞?

listen不会阻塞;
accept会阻塞,如果已完成三次握手的队列为空,就是没有客户端和服务器连接,那么就无法处理接受连接客户端,就会阻塞在这里:
比如演示accept阻塞的情况,我们在accept之前加一句代码:

printf("accept wait...\n");

3.5 显示连接信息

要显示客户端的IP地址和端口:

printf("accept client ip:%s ,port=%d\n",inet_ntoa(caddr.sin_addr),ntohs(caddr.sin_port));

 运行结果:

http://www.hrbkazy.com/news/47318.html

相关文章:

  • 可以做引流网站的源码中国今天最新军事新闻
  • 周口市建设职工培训中心网站实体店营销方案
  • 门户网站属于新媒体吗软文广告的案例
  • 品牌网站建设浩森宇特seo网站诊断分析报告
  • 外汇直播室都是网站做的站长工具百科
  • 如何为自己的店铺做网站大连seo网站推广
  • 青岛市建设监理协会网站河南怎样做网站推广
  • 竖导航网站栾城seo整站排名
  • 杭州公司网站建设套餐惠州seo公司
  • 网站建设ASP心得体会此网站三天换一次域名
  • 描述建设网站的步骤百度帐号登录个人中心
  • 如何防范恶意网站推广软文发布平台
  • 外贸网站建设是做什么的深企在线
  • 怎么利用wordpress管理站点收录提交入口
  • wordpress 代理湖南百度seo
  • 那个平台能免费做网站资深seo顾问
  • 建设网站平台的章程游戏推广话术技巧
  • 赣州网站建设hyxxjs北京正规seo搜索引擎优化价格
  • 关于门户网站改版建设报告百度电话客服24小时
  • 石家庄微网站建设公司哪家好注册域名在哪里注册
  • 邵阳做网站公司湖南关键词优化推荐
  • 网站开发程序流程图北京seo课程培训
  • php wap新闻网站源码深圳百度推广seo公司
  • 电子商务有限公司网站今天的病毒感染情况
  • 箱包网站模板深圳网络营销软件
  • 宜昌平台网站建设网站策划方案范文
  • 天津百度网站排名优化电子商务网络营销
  • 福州网站建设公司哪家好小红书seo是什么意思
  • 自己做的网站微信pc端显示乱码简单网页设计模板html
  • 东营网站建设dysem谷歌seo和百度区别