热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

【游戏开发】网络协议及模型

1.协议:两个实体间控制数据交换的规则的集合。协议的关键部分包括:语法(数据格式、编码、信号电平)、语义(协

1.协议:两个实体间控制数据交换的规则的集合。

协议的关键部分包括:语法(数据格式、编码、信号电平)、语义(协调和进行差错处理的控制信息)、定时(速度匹配、排序)。

 

2.OSI通信协议模型:


  • 应用层:构建在各种通信协议上的网络应用软件,与用户直接交互。
  • 表示层:为异种机通信提供一种公共语言,以便交互操作。加工数据,如为了减少传输的数据量对数据进行压缩,为保证安全性进行加密。
  • 会话层:建立和维持会话,并使会话获得同步。对话管理、数据流同步、重新同步。
  • 传输层:(运输层)建立传输连接,传送数据(一般数据传送或加速数据传送)、传输连接释放。差错恢复、流量控制。
  • 网络层:提供跨越多个网络的选路功能,为端点提供无连接的数据报访问,并定义端到端通过整个互联网网络的寻址功能。
  • 数据链路层:(数据链路控制层)管理数据格式。数据链路的建立、拆除,对数据的检错、纠错。
  • 物理层&#xff1a;为设备之间的数据通信提供传输媒体&#xff08;架空明线、平衡电缆、光纤、无限通道&#xff09;及互连设备&#xff08;数据终端设备<物理设备> &#43; 数据通信设备<电路连接设备>&#xff09;&#xff0c;为数据传输提供可靠的环境。

 

3.TCP/IP协议对应一个4层模型&#xff0c;成为DARPA模型&#xff1a;


  • 应用层&#xff1a;对应于OSI模型的应用层。
  • 传输层&#xff1a;对应于OSI模型的传输层和部分会话层功能。核心协议是传输控制协议&#xff08;TCP&#xff09;和用户数据报协议&#xff08;UDP&#xff09;。
  • 网络层&#xff1a;对应于OSI模型的网络层。
  • 网络访问层&#xff1a;对应于OSI模型的物理层和数据链路层。

 

4.TCP/IP协议族&#xff1a;


  • IP&#xff1a;网间协议&#xff0c;负责主机间数据的路由和网络上数据的存储。用户进程不涉及这一层。
  • ARP&#xff1a;地址解析协议&#xff0c;将网络地址映射到硬件地址。
  • RARP&#xff1a;反向地址解析协议&#xff0c;将硬件地址映射到网络地址。
  • ICMP&#xff1a;网际控制报文协议&#xff0c;处理信息和主机的差错和传送控制。
  • TCP&#xff1a;传送控制协议&#xff0c;为用户进程提供虚拟电路服务&#xff0c;并为数据可靠传输建立检查。大多数网络用户程序使用TCP。
  • UDP&#xff1a;用户数据报协议&#xff0c;提供给用户进程的无连接协议。用于传输数据而不执行正确性检查。
  • FTP&#xff1a;文件传输协议&#xff0c;允许用户以文件操作的方式&#xff08;文件的增、删、改、查、传送&#xff09;与另一主机相互通信。
  • SMTP&#xff1a;简易邮件传送协议&#xff0c;为系统之间传送电子邮件。
  • TTP&#xff1a;终端协议&#xff0c;允许用户以虚拟终端方式访问远程主机。
  • HTTP&#xff1a;超文本传输协议&#xff0c;用于传输HTML写的文件&#xff08;网页&#xff09;。
  • TFTP&#xff1a;简易文件传输协议&#xff0c;与FTP不同的是&#xff0c;使用的是UDP的69端口&#xff0c;可以穿越许多防火墙。

 

5.Socket&#xff08;套接字&#xff09;&#61; IP&#xff08;网络地址&#xff09;&#43; port&#xff08;端口号&#xff09;

Socket&#xff1a;标准Socket&#xff0c;又称为Berkeley Socket&#xff0c;主要用于Linux/Unix系统开发&#xff1b;Winsock&#xff0c;主要用于在Windows平台上开发。

 

Socket通信流程&#xff1a;

 

6.一个网络连接需要&#xff1a;

本地协议端口 &#43; 远程协议端口 &#43; 本地主机地址 &#43; 远程主机地址 &#43; 协议

 

7.Socket函数&#xff1a;


  • Socket函数&#xff1a;用于创建一个Socket套接字
  • Connect函数&#xff1a;用于尝试与远端建立一个Socket连接
  • Send函数&#xff1a;用于在某个Socket上向远端发送数据
  • Recv函数&#xff1a;用于接收远端发送的数据
  • Closesocket函数&#xff1a;用于关闭不再需要的Socket
  • Listen函数&#xff1a;用于在某个Socket上建立监听
  • Accept函数&#xff1a;用于接收一条新的连接&#xff08;接收连接而不接收数据&#xff09;
  • Bind函数&#xff1a;用于给一个Socket套接字分配一个本地协议地址
  • Select函数&#xff1a;用于检测Socket状态&#xff0c;主要用于高级的网络通信模型

 

 

 

 

 

 


推荐阅读
  • Nginx使用AWStats日志分析的步骤及注意事项
    本文介绍了在Centos7操作系统上使用Nginx和AWStats进行日志分析的步骤和注意事项。通过AWStats可以统计网站的访问量、IP地址、操作系统、浏览器等信息,并提供精确到每月、每日、每小时的数据。在部署AWStats之前需要确认服务器上已经安装了Perl环境,并进行DNS解析。 ... [详细]
  • 本文介绍了Python高级网络编程及TCP/IP协议簇的OSI七层模型。首先简单介绍了七层模型的各层及其封装解封装过程。然后讨论了程序开发中涉及到的网络通信内容,主要包括TCP协议、UDP协议和IPV4协议。最后还介绍了socket编程、聊天socket实现、远程执行命令、上传文件、socketserver及其源码分析等相关内容。 ... [详细]
  • 本文详细介绍了Linux中进程控制块PCBtask_struct结构体的结构和作用,包括进程状态、进程号、待处理信号、进程地址空间、调度标志、锁深度、基本时间片、调度策略以及内存管理信息等方面的内容。阅读本文可以更加深入地了解Linux进程管理的原理和机制。 ... [详细]
  • 如何在服务器主机上实现文件共享的方法和工具
    本文介绍了在服务器主机上实现文件共享的方法和工具,包括Linux主机和Windows主机的文件传输方式,Web运维和FTP/SFTP客户端运维两种方式,以及使用WinSCP工具将文件上传至Linux云服务器的操作方法。此外,还介绍了在迁移过程中需要安装迁移Agent并输入目的端服务器所在华为云的AK/SK,以及主机迁移服务会收集的源端服务器信息。 ... [详细]
  • 本文介绍了在Windows环境下如何配置php+apache环境,包括下载php7和apache2.4、安装vc2015运行时环境、启动php7和apache2.4等步骤。希望对需要搭建php7环境的读者有一定的参考价值。摘要长度为169字。 ... [详细]
  • 本文介绍了Windows操作系统的版本及其特点,包括Windows 7系统的6个版本:Starter、Home Basic、Home Premium、Professional、Enterprise、Ultimate。Windows操作系统是微软公司研发的一套操作系统,具有人机操作性优异、支持的应用软件较多、对硬件支持良好等优点。Windows 7 Starter是功能最少的版本,缺乏Aero特效功能,没有64位支持,最初设计不能同时运行三个以上应用程序。 ... [详细]
  • 集成电路企业在进行跨隔离网数据交换时面临着安全性问题,传统的数据交换方式存在安全性堪忧、效率低下等问题。本文以《Ftrans跨网文件安全交换系统》为例,介绍了如何通过丰富的审批流程来满足企业的合规要求,保障数据交换的安全性。 ... [详细]
  • 如何提高PHP编程技能及推荐高级教程
    本文介绍了如何提高PHP编程技能的方法,推荐了一些高级教程。学习任何一种编程语言都需要长期的坚持和不懈的努力,本文提醒读者要有足够的耐心和时间投入。通过实践操作学习,可以更好地理解和掌握PHP语言的特异性,特别是单引号和双引号的用法。同时,本文也指出了只走马观花看整体而不深入学习的学习方式无法真正掌握这门语言,建议读者要从整体来考虑局部,培养大局观。最后,本文提醒读者完成一个像模像样的网站需要付出更多的努力和实践。 ... [详细]
  • 如何用JNI技术调用Java接口以及提高Java性能的详解
    本文介绍了如何使用JNI技术调用Java接口,并详细解析了如何通过JNI技术提高Java的性能。同时还讨论了JNI调用Java的private方法、Java开发中使用JNI技术的情况以及使用Java的JNI技术调用C++时的运行效率问题。文章还介绍了JNIEnv类型的使用方法,包括创建Java对象、调用Java对象的方法、获取Java对象的属性等操作。 ... [详细]
  • 恶意软件分析的最佳编程语言及其应用
    本文介绍了学习恶意软件分析和逆向工程领域时最适合的编程语言,并重点讨论了Python的优点。Python是一种解释型、多用途的语言,具有可读性高、可快速开发、易于学习的特点。作者分享了在本地恶意软件分析中使用Python的经验,包括快速复制恶意软件组件以更好地理解其工作。此外,作者还提到了Python的跨平台优势,使得在不同操作系统上运行代码变得更加方便。 ... [详细]
  • PHP引用的概念和用法详解
    本文详细介绍了PHP中引用的概念和用法。引用是指不同的变量名访问同一个变量内容,类似于Unix文件系统中的hardlink。文章从引用的定义、作用、语法和注意事项等方面进行了解释和示例。同时还介绍了对未定义变量使用引用的情况,以及在函数和new运算符中使用引用的注意事项。 ... [详细]
  • 计算机网络计算机网络分层结构
    为了解决计算机网络复杂的问题,提出了计算机网络分层结构。计算机网络分层结构主要有OSI7层参考模型,TCPIP4层参考模型两种。为什么要分层不同产商 ... [详细]
  • Windows下配置PHP5.6的方法及注意事项
    本文介绍了在Windows系统下配置PHP5.6的步骤及注意事项,包括下载PHP5.6、解压并配置IIS、添加模块映射、测试等。同时提供了一些常见问题的解决方法,如下载缺失的msvcr110.dll文件等。通过本文的指导,读者可以轻松地在Windows系统下配置PHP5.6,并解决一些常见的配置问题。 ... [详细]
  • 本文介绍了南邮ctf-web的writeup,包括签到题和md5 collision。在CTF比赛和渗透测试中,可以通过查看源代码、代码注释、页面隐藏元素、超链接和HTTP响应头部来寻找flag或提示信息。利用PHP弱类型,可以发现md5('QNKCDZO')='0e830400451993494058024219903391'和md5('240610708')='0e462097431906509019562988736854'。 ... [详细]
  • 本文介绍了如何将PPT格式转换成PDF,并推荐了一款高效的PPT转换成PDF转换器。该转换器利用最新的超线程技术核心和多核心CPU性能,提高了转换效率和转换质量。同时,该转换器具备万能转换模式,可以轻松实现不同类型、不同内容和不同排版的PPT文件的转换。用户可以通过下载链接获取该转换器。 ... [详细]
author-avatar
zhaojiapin_313
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有