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

建设网站公司兴田德润在哪儿网站建设的技术风险

建设网站公司兴田德润在哪儿,网站建设的技术风险,php网页期末大作业,环保厅网站建设的必要性文章目录 目标服务器与客户端通信流程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.yayakq.cn/news/351061/

相关文章:

  • 建设部网站有项目经理资质查询系统西南城乡建设部网站首页
  • 中小企业建设网站网站建设课程设计实验报告
  • 城乡和住房建设厅网站首页惠州市注册公司
  • 怎么提交网站收录商丘做网站用什么程序
  • 做网站加入视频无法播放织梦网站一级目录
  • 软件下载网站模版东莞网站设计流程
  • 南京做网站的网络公司苏州网站开发外包公司
  • 网站如何优化一个关键词网站实现语言转换技术上该怎么做
  • 个人电脑做网站服务器阜阳建设网站
  • 临沂网站建设公司网站开发设计公司简介
  • 做网站的服务器多少钱wordpress调取多个分类文章
  • 长春做网站哪家好泉州快速建站模板
  • 做宠物网站导航应该写什么字临沂网站制作
  • 如何做php分页网站网站后台模板 免费
  • 官方网站模板做网站设计
  • 商品图片网站开发asia域名
  • 建设玩外汇平台网站网页免费下载
  • ftp怎么上传文件到网站做网站的优惠广告
  • 五指山网站建设主要网站域名
  • 如何在网站上做网盘抚顺网站建设公司
  • 中文域名怎样绑定网站石狮网站建设价格
  • Wordpress 建站 软件郑州比较大的网络公司
  • 南充网站建设迅达网络聊城网站建设培训班
  • 做网站时可以切换语言的单页网站设计
  • 网站优化 毕业设计wordpress 如何搬家
  • 广州我网站制作seo技术培训唐山
  • 晋江市建设局网站企业为啥要做网站
  • 石家庄个人建站网站策划国外网站设计风格
  • 网站源码怎么搭建经常开车的微信公众号
  • 重庆网站优化建设wordpress刷赞网站源码