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

我想自己建个网站 应该怎么做360的网站怎么做

我想自己建个网站 应该怎么做,360的网站怎么做,公司网站建设代理,科技小制作 手工 简单TCP与UDP的区别 1、基于连接与无连接 2、对系统资源的要求#xff08;TCP较多#xff0c;UDP少#xff09;3、UDP程序结构较简单 流模式与数据报模式 4、TCP保证数据正确性#xff0c;UDP可能丢包 5、TCP保证数据顺序#xff0c;UDP不保证具体编程时的区别 1、socket()的参… TCP与UDP的区别 1、基于连接与无连接 2、对系统资源的要求TCP较多UDP少 3、UDP程序结构较简单 流模式与数据报模式 4、TCP保证数据正确性UDP可能丢包 5、TCP保证数据顺序UDP不保证 具体编程时的区别 1、socket()的参数不同 2、UDP Server不需要调用listen和accept 3、 UDP收发数据用sendto/recvfrom函数 TCP地址信息在connect/accept时确定 UDP在sendto/recvfrom函数中每次均 需指定地址信息 UDPshutdown函数无效 部分满足以下几点要求时应该采用UDP 面向数据报方式 1、网络数据大多为短消息 2、拥有大量Client 对数据安全性无特殊要求 3、 网络负担非常重但对响应速度要求高 4、UDP协议是不可靠的网络协议它在通信两端各建立一个Socket,但是这两个Socket之间没有虚拟链路这两个Socket只负责发送和接收数据报的对象! 例子ICQ、ping    面向连接的TCP的流方式 服务器程序流程多进程 1、程序初始化 2、填写本机地址信息 3、绑定并监听一个固定的端口 4、收到Client的连接后建立一个socket连接 产生一个新的进程与Client进行通信和信息处理 5、子通信结束后中断与Client的连接 客户端程序流程 1、程序初始化 2、填写服务器地址信息 3、 连接服务器 4、与服务器通信和信息处理 5、通信结束后断开连接 服务器代码 #include stdio.h #include stdlib.h #include errno.h #include string.h #include sys/types.h #include netinet/in.h #include sys/socket.h #include sys/wait.h #define MYPORT 3490                 #define BACKLOG 10                 void main() { int sockfd, new_fd;             struct sockaddr_in sa;   //本机地址      struct sockaddr_in their_addr;//远程地址 int sin_size; if ((sockfd socket(AF_INET, SOCK_STREAM, 0)) -1) { perror(socket); exit(1); } sa.sin_family AF_INET; sa.sin_port htons(MYPORT);         sa.sin_addr.s_addr INADDR_ANY;     bzero((sa.sin_zero), 8);             if (bind(sockfd, (struct sockaddr *)sa, sizeof(sa)) -1) { perror(bind); exit(1); } if (listen(sockfd, BACKLOG) -1) { perror(listen); exit(1); }   while(1) { sin_size sizeof(struct sockaddr_in); new_fd accept(sockfd, (struct sockaddr *)their_addr, sin_size)) if (new_fd -1) { perror(accept); continue; } printf(”Got connection from %sn, inet_ntoa(their_addr.sin_addr)); if (fork() 0) {   if (send(new_fd, Hello, world! n, 14, 0) -1) perror(send); close(new_fd); exit(0); } close(new_fd);   while(waitpid(-1,NULL,WNOHANG) 0); } }     客户端代码 #include stdio.h #include stdlib.h #include errno.h #include string.h #include netdb.h #include sys/types.h #include netinet/in.h #include sys/socket.h #define PORT 3490 #define MAXDATASIZE 100 int main(int argc, char *argv[]) { int sockfd, numbytes; char buf[MAXDATASIZE]; struct hostent *he; struct sockaddr_in their_addr;//服务器地址 if (argc ! 2) { fprintf(stderr,usage: client hostnamen); exit(1); }   if ((hegethostbyname(argv[1])) NULL) {   herror(gethostbyname); exit(1); } if ((sockfdsocket(AF_INET,SOCK_STREAM,0))-1) { perror(socket); exit(1); } their_addr.sin_family AF_INET; their_addr.sin_port htons(PORT); their_addr.sin_addr *((struct in_addr *)he-h_addr); bzero((their_addr.sin_zero), 8); if (connect(sockfd, (struct sockaddr *)their_addr, sizeof(struct sockaddr)) -1) { perror(connect); exit(1); } if ((numbytesrecv(sockfd,buf,MAXDATASIZE,0))-1) { perror(recv); exit(1); } buf[numbytes] ; printf(Received: %s,buf); close(sockfd); return 0; }     服务器程序流程单进程 1、程序初始化 2、填写本机地址信息 3、绑定一个固定的端口 3、收到Client的数据报后进行处理与通信 4、通信结束后断开连接 客户端程序流程 1、程序初始化 2、填写服务器地址信息 3、连接服务器 与服务器通信和信息处理 //发送报文的方式建立与服务器的联系 4、通信结束后断开连接 UDP方式下服务器与客户端程序差别不大仅第三步不同。   服务器 #include stdio.h #include stdlib.h #include errno.h #include string.h #include sys/types.h #include netinet/in.h #include sys/socket.h #include sys/wait.h #define MYPORT 3490 void main() { int sockfd; struct sockaddr_in my_addr; struct sockaddr_in their_addr; int sin_size, retval; char buf[128]; if ((sockfd socket(AF_INET, SOCK_DGRAM, 0)) -1) { perror(socket); exit(1); } my_addr.sin_family AF_INET; my_addr.sin_port htons(MYPORT); my_addr.sin_addr.s_addr INADDR_ANY; bzero((my_addr.sin_zero), 8); if (bind(sockfd, (struct sockaddr *)my_addr, sizeof(my_addr)) -1) { perror(bind); exit(1); }   while(1) { retval recvfrom(sockfd, buf, 128, 0, (struct sockaddr *)their_addr, sin_size);//获取远程主机的报文并解析 printf(Received datagram from %sn,inet_ntoa(their_addr.sin_addr)); if (retval 0) { perror (“recvfrom); close(sockfd); break; } retval sendto(sockfd, buf, 128, 0, (struct sockaddr *)their_addr, sin_size); } }   客户端 #include stdio.h #include stdlib.h #include errno.h #include string.h #include netdb.h #include sys/types.h #include netinet/in.h #include sys/socket.h #define PORT 3490 #define MAXDATASIZE 100 int main(int argc, char *argv[]) { int sockfd, numbytes, sin_size; char buf[MAXDATASIZE] “Hello, world!”; struct hostent *he; // struct sockaddr_in their_addr;//服务器地址 if (argc ! 2) { fprintf(stderr,usage: client hostnamen); exit(1); }   if ((hegethostbyname(argv[1])) NULL) { herror(gethostbyname); exit(1); } if ((sockfdsocket(AF_INET,SOCK_DGRAM,0))-1) { perror(socket); exit(1); } their_addr.sin_family AF_INET; their_addr.sin_port htons(PORT); their_addr.sin_addr *((struct in_addr *)he-h_addr); bzero((their_addr.sin_zero), 8); numbytes sendto(sockfd, buf, MAXDATASIZE, 0, (struct sockaddr *)their_addr,sizeof(their_addr))//向服务器发送任一报文 if (numbytes -1) { perror(“sendto); exit(1); } printf(“Send: %s,buf); numbytes recvfrom(sockfd, buf, MAXDATASIZE, 0, (struct sockaddr *)their_addr, sin_size); if (numbytes -1) { perror(recvfrom); exit(1); } buf[numbytes] ; printf(Received: %s,buf); close(sockfd); return 0; }
http://www.yutouwan.com/news/363067/

相关文章:

  • 中国建设信息网站权重查询
  • c做项目的网站河北邯郸ktv
  • 济南住建局官方网站网站建设营销平台
  • 怎么查看网站是否被百度收录代理注册个公司一般需要多少钱
  • 茌平网站建设公司赤峰市做网站公司
  • 网站开发全程实例课本代码成立网站是不是需要先成立公司
  • 成都网站运营维护厂家网址提交大全
  • 网站和域名低价网站设计多少钱
  • 龙江手机网站建设网站开发岗位职责
  • 平面设计类网站有哪些如何用html做班级网站
  • 做理财的网站有哪些在线生成头像
  • 网站正在建设代码手机端网站建设备案
  • 什么公司网站建设做的好flash如何制作网站
  • 个人网站 前置审批中交路桥建设有限公司网站
  • 网站备案的幕布视频网站源码下载
  • 网站免费认证联盟网站在哪备案
  • 济南市莱芜区网站西安未央区做网站
  • 赶集网网站建设分析茶叶包装设计
  • mip网站实例西安cms建站模板
  • 深圳市建设交易中心网站首页汽车专业科技网站建设
  • 网站微信认证阳江招聘网最新招聘信息网美容框
  • 开江网站建设潍坊关键词优化软件
  • 邯郸做网站流程虚拟服务器怎样做网站
  • 可以用什么网站做mc官方宝安网站设计服务
  • wordpress制作视频站网络服务商怎么查询
  • 法库网站建设.php的网站是怎么做的
  • 杭州 电商设计网站建设公司网站如何做分录
  • 织梦可以做移动网站吗短网址批量在线生成
  • 网站建设 国外玉树北京网站建设
  • 盐山县做网站网页设计收费标准需要多少钱