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

网站建设要学习什么网站查询地址

网站建设要学习什么,网站查询地址,wordpress如何看主题,ui生成器网站文章目录 目标服务器与客户端通信流程TCP服务器代码TCP客户端代码 目标 实现客户端连接服务器,通过终端窗口发送信息给服务器端,服务器接收到信息后对信息数据进行回传,客户端读取回传信息并返回。 服务器与客户端通信流程 TCP服务器代码 …

文章目录

    • 目标
    • 服务器与客户端通信流程
    • TCP服务器代码
    • TCP客户端代码

目标

实现客户端连接服务器,通过终端窗口发送信息给服务器端,服务器接收到信息后对信息数据进行回传,客户端读取回传信息并返回。

服务器与客户端通信流程

在这里插入图片描述

TCP服务器代码

服务器当前IP地址要知道
建立socket
绑定本地IP地址并设置端口号

#include <stdio.h>
#include <stdlib.h>
#include <arpa/inet.h>
#include <unistd.h>
#include <string.h>int main()
{//socket套接字int lfd = socket(AF_INET, SOCK_STREAM, 0);if(lfd == -1){perror("socket");exit(-1);}//绑定struct sockaddr_in saddr;saddr.sin_family = AF_INET;inet_pton(AF_INET, "192.168.1.108", &saddr.sin_addr.s_addr);//saddr.sin_addr.s_addr = INADDR_ANY;//做服务器时表示可以通过任意网卡都可以连接进来saddr.sin_port = htons(9999);//转换成网络字节序int bindret = bind(lfd, (struct sockaddr *)&saddr, sizeof(saddr));if(bindret == -1){perror("bind");exit(-1);}//监听int ret = listen(lfd, 8);if(ret == -1){perror("listen");exit(-1);}//等待连接struct sockaddr_in clientaddr;int len = sizeof(clientaddr);int cfd = accept(lfd, (struct sockaddr *)&clientaddr, &len);if(cfd == -1){perror("accept");exit(-1);}char clientIP[len];inet_ntop(AF_INET, &clientaddr.sin_addr, clientIP, len);printf("client IP:%s Port:%d\n", clientIP, ntohs(clientaddr.sin_port));while (1){//接收数据char rbuf[1024];len = read(cfd, rbuf, sizeof(rbuf));if(len == -1){perror("read");exit(-1);}else if(len == 0){printf("Client close...\n");}else if(len > 0){printf("resive data: %s\n", rbuf);}//发送数据char sbuf[] = "i am server\n";write(cfd, rbuf, sizeof(rbuf));}//关闭连接close(cfd);close(lfd);return 0;
}

TCP客户端代码

知道服务器的IP地址和端口号
然后进行连接

#include <stdio.h>
#include <stdlib.h>
#include <arpa/inet.h>
#include <unistd.h>
#include <string.h>int main()
{//socket套接字int lfd = socket(AF_INET, SOCK_STREAM, 0);if(lfd == -1){perror("socket");exit(-1);}//连接struct sockaddr_in saddr;saddr.sin_family = AF_INET;inet_pton(AF_INET, "192.168.1.108", &saddr.sin_addr.s_addr);saddr.sin_port = htons(9999);//转换成网络字节序int connect_cont = 3;int ret;jx_connect:ret = connect(lfd, (struct sockaddr *)&saddr, sizeof(saddr));if(ret == -1){perror("connect");sleep(2);connect_cont--;if(connect_cont) goto jx_connect;exit(-1);}printf("client link success!\n");//通信char rbuf[1024];while(1){//发送数据char sbuf[] = "i am client\n";fgets(rbuf, 1024, stdin);write(lfd, rbuf, sizeof(rbuf));//接收数据int len = read(lfd, rbuf, sizeof(rbuf));if(len == -1){perror("read");exit(-1);}else if(len == 0){printf("Client close...\n");break;}else if(len > 0){printf("resive data: %s\n", rbuf);}sleep(1);}//关闭连接close(lfd);return 0;
}
http://www.mmbaike.com/news/57845.html

相关文章:

  • 晋中建设局网站西安seo服务公司排名
  • 织梦网站密码百度网盘搜索引擎入口官网
  • 网站分类目录大全东莞网络推广营销公司
  • o2o电子商务模式的特点安徽网站优化
  • 百度快照和做网站有关系吗如何注册域名及网站
  • 精品网站建设网站怎么优化推广
  • 网站推广适合哪种公司做抖音seo关键词优化排名
  • h5制作官网seo排名优化方法
  • 网站首页效果图百度电脑版登录网站
  • 深圳国贸网站建设北京网站排名推广
  • 网站对企业的好处凡科网小程序
  • 网站建设的开发方式知乎广告开户
  • 杭州营销型网站建设排名南京百度搜索优化
  • 深圳做网站推广优化推广引流渠道平台
  • 集团网站建设哪家好网络自动推广软件
  • 上海网站备案办理谷歌paypal官网入口
  • 山西省网站建设哪里好网站推广技术
  • 网站增长期怎么做友情链接怎么添加
  • 静安制作企业网站网站开发用什么语言
  • 两学一做材料上哪个网站找网站seo报价
  • 做网站用哪种编程语言网站快速排名优化哪家好
  • 江苏建设网站公司日本产品和韩国产品哪个好
  • 西宁市网站建设价格电商运营转行后悔了
  • 网站建设与建设2345王牌浏览器
  • 微信看视频打赏网站建设百度知道下载安装
  • 创建网站服务器拼多多seo怎么优化
  • 万网定制网站怎么样广州seo优化电话
  • 深圳网站建设哪家简述网站建设的一般流程
  • 做教育类的网站名今日头条新闻
  • 企业网站seo维护爱站网挖掘关键词