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

万户网络学校网站建设网站建设的实践报告

万户网络学校网站建设,网站建设的实践报告,青岛网络推广服务,标志设计图片及说明目录 1、主机字节序列和网络字节序列 2、套接字地址结构 3、IP地址转换函数 4、TCP协议编程: (1)服务器端: (2)客户端: 1、主机字节序列和网络字节序列 主机字节序列分为大端字节序和小端字节序 大端…

目录

1、主机字节序列和网络字节序列

2、套接字地址结构

 3、IP地址转换函数

4、TCP协议编程:

(1)服务器端:

(2)客户端:


1、主机字节序列和网络字节序列

主机字节序列分为大端字节序和小端字节序

大端字节序是指一个整数的高位字节存储在内存的低地址处,低位字节序列存储在内存的高地址处。

小端字节序是指整数的高位字节存储在高地址处,低位字节序列存储在内存的低地址处。

网路字节序列:大端字节序列,转换为大端:htons()

2、套接字地址结构

通用套接字地址结构:

struct sockaddr

{

sa_family_t sa_family;

char  sa_date[14];

}

传的时候会根据需要的类型,传递参数。

 3、IP地址转换函数

ipv4地址直接按的转换:

int_addr_t inet_addr(const char *cp);//把字符串表示的IPV4地址转换为网络字节序

char*inet_ntoa(stuct in_addr in)//把网络字节序转换为字符串表示的

4、TCP协议编程:

(1)服务器端:

创建套接字:socket()

给套接字指定地址(绑定)IP+端口:bind()

开机 、监听队列(不阻塞):listen()

接受链接:accept()

接收数据:recv()

发送数据:send()

关闭链接:close()

服务器端:
int main()
{
//创建套接字
int sockfd=socket(AF_INET,SOCK_STREAM,0)
//                        协议版本    
//创建失败就返回
if(sockfd==-1)
{
exit(1);;
}//指定服务器的ip和端口
struct sockaddr_in saddr,caddr;//套接字的地址,监听套接字
//清空服务器端
memset(&saddr,0,sizeof(saddr));//制空
//填充ip和端口
saddr.sin_family=AF_INET;
saddr.sin_port=htons(6000);//1024以内知名端口,4096以内保留端口,临时端口(5000+)
saddr.sin_addr.s_addr=inet_addr("127.0.0.1");//ip地址int res=bind(sockfd,(sockaddr*)&saddr,sizeof(saddr));
if(res==-1)
{
printf("bind err\n");
exit(1);
}//设置监听队列res=listen(scokfd,5);
//          套接字  监听队列长度
if(res==-1)
{
exit(1);
}//接受链接
while(1)
{
//获取客户端的套接字地址的长度socklen_t len=sizeof(caddr);
//连接套接字int c=accept(sockfd,(struct sockaddr*)&caddr,&len);if(c<0){continue;}printf("acceptc=%d,ip=%s,port=%d",c,inei_ntoa(caddr.sin_addr),ntohs(caddr.sin_port));//定义接收数据的数组char buff[128]={0};//   连接套接字  接收数组,接收的长度  recv(c,buff,127,0);printf("buff=%s",buff);//返回数据, 连接套接字  返回的数据   返回数据的长度  send(c,"ok",2,0);//关闭连接套接字close(c);}

(2)客户端:

创建套接字:socket()

向服务器发起链接:connect()

给服务端发送数据:send()

接收服务端发送的数据:recv()

关闭链接:close()

#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<unistd.h>
#include<sys/socket.h>
#include<netinet/in.h>
#include <arpa/inet.h>//客户端
int main()
{//创建套接字int sockfd=socket(AF_INET,SOCK_STREAM,0);//判断是否创建成功if(sockfd==-1){exit(1);}//绑定套接字地址struct sockaddr_in saddr;//套接字清空memset(&saddr,0,sizeof(saddr));saddr.sin_family=AF_INET;//绑定端口saddr.sin_port=htons(6000);//绑定IP地址saddr.sin_addr.s_addr=inet_addr("127.0.0.1");//向服务器发起连接int res=connect(sockfd,(struct sockaddr*)&saddr,sizeof(saddr));if(res==-1){printf("connect err\n");exit(1);}printf("input\n");char buff[128];fgets(buff,128,stdin);//向服务器发送数据send(sockfd,buff,strlen(buff),0);//将buff制空memset(buff,0,sizeof(buff));//接收服务端返回的数据recv(sockfd,buff,127,0);//输出服务端返回的数据printf("buff=%s",buff);//关闭套接字close(sockfd);exit(0);}

http://www.yayakq.cn/news/57907/

相关文章:

  • 公司网站建设的作用与意义wordpress 恢复初始化
  • 女生做网站编辑好吗稀奇古怪好玩有用的网站
  • wap网站部署科技论文
  • 网站建设视频教程网站中国企业信用信息查询系统
  • 深圳网站建设方案维护如何为旅游网站店铺做推广营销
  • 游戏网站建设与策划书wordpress修改域名
  • 黄页广告网站专业的丹徒网站建设
  • 刚接触网站建设有哪些问题做书网站 时光
  • 网站怎么做能中英文的制作网页时首先要确定什么
  • 建设网站的企业哪家好咨询机构
  • 360个人网站建设云南网站建设企业推荐
  • 360网站推广官网软件网上推广方法有哪些
  • 盐城建设银行网站微信公众号和网站建设的意义
  • 镇江网站建设推广域名官网
  • 怎么制定网站关键少数
  • 东西湖建设局网站西安网站制作模板
  • 时间轴网站设计湖南省城乡住房建设厅网站
  • 网站开发需要多少钱新闻档案网站建设网页
  • 网站版块模板沈阳和平三好街做网站
  • 常德网站开发网站运营晋城市公用事业建设局网站
  • 海口什么网站建设设计公司logo需要多少钱
  • 做京东一样的网站官网建站平台
  • 商城网站建设公司招聘温州做网站制作哪家好
  • 网页设计网站世界杯企业seo蜘蛛屯
  • 做盒饭的网站免费设计logo的app
  • 商业网站开发选题的目的福州论坛建站模板
  • 人才网站建设策划书优化品牌seo关键词
  • 建设网站服务器 知乎wordpress d8 4.1
  • 苏州公司建设网站redhat7做网站过程
  • 前端可以自己做网站么做直播网站vps可以吗