網络程序设计论文.docVIP

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
網络程序设计论文

网络程序设计论文 引言 网络程序设计也叫网络编程,通过使用套接字来达到进程间通信目的的编程就是网络编程,实现的就是在网络互联的情况下进程通讯,信息的安全有效的在应用程序间进行传递。对于网络程序设计,其可使用的网络编程语言包括c语言,c++,java,delphi,VB。其中java具有良好的可移植性,但需要虚拟机;VB,delphi,使用简单,但只用于Windows环境。而c/c++,高效,是支持各种操作系统的语言。所以我们课堂上学习的网络应用程序设计是用c语言来编写的基于winsock来实现网络应用功能,同时socket无疑是一种理想的实现通信手段,通过它可以方便的交换数据。 浅谈C语言作为编程语言的问题 网络程序设计可以使用多种高级语言来进行设计,但由于不同的高级语言的性能以及局限性,从而凸显出C语言作为网络编程语言的优势。其优势大致有以下几点: 1)具有多种操作系统支持,几乎所有; 2)执行效率高; 3)编程灵活,要求高; 4)可以进行系统内核编程; 5)具有大量开源项目。 C语言在网络编程语言中运用,要注意C语言的文件操作中fopen和open的区别:fopen是ANSI C的标准,可移植,而open更加底层,是在linux系统上使用,作用是打开设备;fwrite和fread,都是对二进制进行记录操作;fgetc,fgets和fputc,fputs,作用是对字符和字符串操作;fseek,ftell,feof,作用是如何获取文件大小。 在课堂上,老师给我们详细介绍C语言有关读取内容赋值给数据结构变量,字符串函数,将数据结构表现为字符串,如何表示链表,函数指针的应用,C语言程序构成,文本界面和图形用户界面等等的编程语言基本知识。 套接字 套接字的概述中,套接字的定义为:一个主机的应用程序所创造的,为操作系统所控制的接口。应用进程通过这个接口,使用传输层提供的服务跨网络发送或接收数据消息到其他应用进程。 TCP/IP协议存在于OS中,网络服务通过OS提供在OS中增加支持TCP/IP的系统调用——Berkeley套接字。如socket,connect,send,recv等。 Client/Server模式的通信接口----套接字接口,如下图所示: 网络系统提供了三种不同类型的套接口:流式套接口(SOCK_STREAM) 也称面向连接的套接口、TCP 套接口等;数据报套接口(SOCK_DGRAM) 对应于UDP 协议,也称无连接套接口、面向消息套接口、UDP套接口等;原始套接口(SOCK_RAW) 可以读写ICMP 、IGMP 报文;从IP 头起构造自己的报文;接受发向本机的但TCP/IP栈不能够处理的IP包。 在这里列出基本陶接口I/O函数: TCP和UDP协议 传输层的TCP和UDP协议,不仅是它们各自的协议格式结构,协议传输应用特点和它们之间彼此的关系与区别,还有它们的有点以及适用场合。 UDP套接口并没有发送缓存,应用进程的数据在沿协议栈向下传递时,以某种形式复制到内核的缓存中,当数据链路层把数据传出去后这个副本就被丢弃,TCP会在底层将应用程序数据分片,UDP不会。协议各层对数据的接受过滤过程如右图: 阻塞与非阻塞通讯的问题下,阻塞与非阻塞在利用TCP和UDP协议发送报文时的异同点有:TCP协议下,如果低层协议没有可用空间来存放数据,则应用进程将阻塞等待直到协议有可用空间;而UDP协议下,因为UDP没有发送缓存,所以UDP协议即使在阻塞模式下也不会发生阻塞。在对于面向连接协议,在连接建立阶段,阻塞与非阻塞也表现的不同:在阻塞模式下,如果没有连接请求到达,则等待连接调用将阻塞直到有连接请求到达;但在非阻塞模式下,如果没有连接请求到达,等待连接调用将直接返回。 套接字选项和I/O控制命令用于改变套接字的默认行为,然而网络是分层的,每层上又有多个协议,因此套接字选项有不同的级别。各级别的选项不同,同一级别不同协议的选项也可能不同。常见级别:SOL_SOCKET(对应应用层),IPPROTO_TCP(对应传输层的TCP协议,IPPROTO_UDP (对应传输层的UDP协议),IPPROTO_IP (对应网络层的IP协议)。 Winsock IO方法 Windows套接字在两种模式下执行I/O操作:阻塞和非阻塞。 默认工作在阻塞模式,此函数设置套接字的工作模式为非阻塞或阻塞模式。返回值:正确调用返回0,否则将返回SOCKET_ERROR ,应用程序可以通过 WSAGetLastError()来获取具体错误的代码。函数形式: int ioctlsocket ( SOCKET s, long cmd, u_long * argp )

文档评论(0)

sd47f8cI + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档