- 1、本文档共6页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 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
)
您可能关注的文档
- 網络知识培训.doc
- 網络知识学习材料.doc
- 網络知识学习笔记.doc
- 網络知识学习笔记_陈建安.doc
- 網络研究分析.doc
- 網络硬件设备的认识和使用实验报告.doc
- 網络知识讲义.docx
- 網络硬盘的实际与实现.doc
- 網络硬盘毕业设计论文.doc
- 網络社会的道德问题.doc
- 2024年江西省高考政治试卷真题(含答案逐题解析).pdf
- 2025年四川省新高考八省适应性联考模拟演练(二)物理试卷(含答案详解).pdf
- 2025年四川省新高考八省适应性联考模拟演练(二)地理试卷(含答案详解).pdf
- 2024年内蒙通辽市中考化学试卷(含答案逐题解析).docx
- 2024年四川省攀枝花市中考化学试卷真题(含答案详解).docx
- (一模)长春市2025届高三质量监测(一)化学试卷(含答案).pdf
- 2024年安徽省高考政治试卷(含答案逐题解析).pdf
- (一模)长春市2025届高三质量监测(一)生物试卷(含答案).pdf
- 2024年湖南省高考政治试卷真题(含答案逐题解析).docx
- 2024年安徽省高考政治试卷(含答案逐题解析).docx
最近下载
- 2024届高考写作指导:“劳动之苦与劳动之美”审题指导及优秀范文两篇精品.docx
- 部编统编1张凯+快乐读书吧《非洲民间故事》导读课公开课教案教学设计.docx VIP
- 糖尿病性酮症酸中毒课件.pptx
- 科学教育出版社七年级上册劳动实践手册教案.docx VIP
- 《当代中文》第一课--您贵姓.ppt VIP
- 部编版五年级语文上册第六单元质量评价试卷(含答案).pdf VIP
- 第三章 地球的面貌-2024-2025学年七年级地理上册单元速记清单(湘教版2024).docx VIP
- 九年级上学期家长会.11.ppt省名师优质课赛课获奖课件市赛课一等奖课件.pptx
- 国开(电大)《现代汉语专题》形考作业1-6参考答案(下载可编辑).pdf
- 2.6 直角三角形(原卷版).docx VIP
文档评论(0)