网络编程TCP总结及实践-C语言.pdf

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

⽹⽹络络编编程程TCP总总结结及及实实践践-C语语⾔⾔

⽹络变成⾸先要注意IP和port的转换,如今电脑基本上是机字节序,存储依照⼩端⽅式,⽽在⽹络中传输统⼀使⽤⼤端⽅式,所以⽹络变成⾸先要注意

字节序的转换。

⼀个经常使⽤的ip转换程序的实现:

#includestdio.h

#includestring.h

#includestdlib.h

#includeunistd.h

#defineCHIP(ip)\

(ip0xff)4|\

(ip(0xff8))8|\

(ip(0xff16))8|\

(ip(0xff4))4

intmain(intargc,char*argv[])

{

charbuf[100]=;

intip[4]={0};

intoldip,newip;

scanf(%s,buf);

sscanf(buf,%d.%d.%d.%d,ip[0],ip[1],ip[],ip[3]);//格式化输⼊,注意去地址符号

printf(%d%d%d%d\n,ip[0],ip[1],ip[],ip[3]);

oldip=(ip[3]4)|(ip[]16)|(ip[1]8)|ip[0];

printf(%x\n,oldip);

//newip=(ip[0]4)|(ip[1]16)|(ip[]8)|ip[3];

newip=CHIP(oldip);//在计算机中依照⼗六进制存储的

printf(%x\n,newip);

//printf(%d%d%d%d\n,a[0],a[1],a[],a[3]);

memset(buf,0,100);

inti;

for(i=0;i4;i++)//将⼤端模式的IP转换为⼗进制好像有BUG

{

buf[i]=((unsignedint)(newip((unsignedint)0xff8*i))8*i);

}

fprintf(stdout,%d.%d.%d.%d\n,buf[3],buf[],buf[1],buf[0]);

return0;

}

在⽹络传输规定使⽤⼤端模式发送。⼩端模式转⼤端模式能够使⽤这样的宏定义

⽐如⼩端模式下⼗六进制的IP为6401a8c0//19.168.1.100

#defineCHIP(ip)\

(ip0xff)4|\

(ip(0xff8))8|\

(ip(0xff16))8|\

(ip(0xff4))4

转化后的⼤端模式为:c0a80164

套套接接⼝⼝的的概概念念::

模式IP:port

套接⼝,也叫“套接字”。是操作系统内核中的⼀个数据结构。它是⽹络中的节点进⾏相互通信的门户。它是⽹络进程的ID。

⽹络通信,归根究竟还是进程间的通信(不同计算机上的进程间通信)。在⽹络中。每个节点(计算机或路由)都有⼀个⽹络地址。也就是IP地址。

两个进程通信时,⾸先要确定各⾃所在的⽹络节点的⽹络地址。可是,⽹络地址仅仅能确定进程所在的计算机,⽽⼀台计算机上⾮常可能同⼀时候执⾏

着多个进程,所以仅凭⽹络地址还不能确定究竟是和⽹络中的哪⼀个进程进⾏通信。因此套接⼝中还须要包含其它的信息。也就是port号(PORT)。在

⼀台计算机中,⼀个port号⼀次仅仅能分配给⼀个进程,也就是说,在⼀台计算机中,port号和进程之间是⼀⼀相应关系。

所以,使⽤port号和⽹络地址的组合能够唯⼀的确定整个⽹络中的⼀个⽹络进程。

port号号的的概概念念::

在⽹络技术中,port⼤致有两种意思:⼀是物理意义上的port。如集线器、交换机、路由器等⽤于连接其它⽹络设备的接⼝。

⼆是指TCP/IP协议中的port,port号的范围从0~65535,⼀类是由互联⽹指派名字和号码公司ICANN负责分配给⼀些经常使⽤的应⽤程序固定使⽤的“周

知的port”。其值⼀般为0~103.⽐如http的port号是80,ftp为1。ssh为。telnet为3等。另⼀类是⽤户⾃定义的,⼀般是⼤于104的整型值。

socket概概念念

Linux中的⽹络编程是通过soc

文档评论(0)

180****3298 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档