opnet中SOCKET接口开发
- Socket接口模块实现方案
- 功能描述
Socket接口模快实现OPNET系统级仿真平台与外部软件之间基于Socket通信,包括建立连接、数据传送,模块支持端口及IP地址设置。
- 实现流程
利用OPNET 开发接口模块,实现Socket 双向数据通信,包括Socket 接口节点模型、Socket 接口协议模型、Socket 控制模块三部分。
接口节点模型可以实现Socket 相关参数的配置,包括开启端口、ip地址配置、轮询时间设置。
接口协议模型利用OPNET 核心函数及外部Socket 操作函数实现。外部Socket 程序通过接口模块与OPNET 仿真进行数据交互,实现仿真运行控制、参数传递操作。
项目组利用OPNET Modeler 18.0仿真软件建立仿真模型,实现与外部Microsoft Visual Studio 2010进行基于Socket的通信,实现客户端与服务器之间的建立连接、数据传送,模块支持端口及IP地址设置。
具体如下:
1、使用OPNET Modeler 18.0仿真软件建立服务器(Socket_server)的网络模型与VS 2010建立的客户端(Client)进行Socket通信操作;
2、使用OPNET Modeler 18.0仿真软件建立客户端(Socket_client)的网络模型与VS 2010建立的服务器(Server)进行Socket通信操作;
- 使用软件
Modeler 18.0仿真软件
Microsoft Visual Studio 2010
- Socket接口模块具体实现步骤
- OPNET搭建Server仿真模型与VS搭建的Client进行通信
步骤如下:
(1)使用OPNET Modeler 18.0创建一个服务器(Socket_server)的网络模型,如下图 2所示:
图 2 网络模型
其中,Socket_server用来实现与外部VS建立的客户端(Client)进行Socket通信;Profile Config用来配置通信端口号和轮询时间。节点“0”、“1”和“2”实现内部节点的位置信息更新,在Socket_server网关收到消息后,会通过远程中断的方式来控制、反馈内部仿真节点位置信息更新操作。右击仿真场景中的Profile Config,左击选择Edit Attributes选项, 在弹出的Attributes窗口中,点击Dest_Port进行端口号Value的设置,点击tv_sec和tv_usec进行对Socket服务器轮询时间的设置,其中tv_sec和tv_usec分别表示秒和毫秒。如下图 3所示:
图 3 Attributes设置
(2)建立服务器Server的节点模型,如下图 4所示:
图 4服务器Server节点模型
(3)建立服务器Server的进程模型,如下图 5所示:
图 5服务器Socket_server进程模型
其中,在进程模型的编辑头块代码“HB”中写入实现Socket通信的头文件,在编辑函数块代码“FB”写入实现Socket通信的源代码。
(4)使用VS 2010编写外部客户端(Client)程序,生成VS_Client.exe可执行文件与OPNET进行Socket通信。该解决方案可以实现对不同类型数据的发送,并能对仿真运行进行控制。
“send X”(X表示用户想要发送到OPNET服务器的字符串)命令可以实现对字符串X的发送;
“add X Y Z”(X代表某一节点,Y和Z分别代表期待移动到的纬度和经度)命令为节点的移动指明了对象和相应的经纬度;
quit命令可以实现对OPNET服务器的关闭,使连接中断;
其中VS客户端的解决方案如下图 6所示:
图 6 VS客户端的解决方案
(5)开启Socket服务器:右击仿真场景中Profile Config进行端口号和轮询时间的设置,运行仿真即开启Socket服务器。
(6)开启Socket客户端: 运行步骤(4)生成的VS_Client.exe执行文件即开启Socket客户端,按照提示输入IP地址和端口号与OPNET搭建的Socket服务器建立连接,然后进行数据传输。
实现功能:OPNET搭建的服务器仿真场景中,节点Profile Config可以实现对端口号和轮询时间的设置;节点server可以实现与外部VS程序进行Socket通信;外部程序VS 2010建立的Client客户端可以实现输入IP地址和端口号与OPNET搭建的Socket服务器建立连接,然后进行数据传输。开始时外部的VS(客户端)发送数据(节点的位置信息)到OPNET的网关Socket_server,网关Socket_server收到数据以后会利用远程中断的方式使节点(0、1或2)移动,而在网关调用远程中断之后会立刻发送位置信息到外部的VS。
- OPNET搭建Client仿真模型与VS搭建的Server进行通信
步骤如下:
(1)使用OPNET Modeler 18.0创建一个客户端(Socket_client)的网络模型,如下图 7所示:
(2)建立客户端(Client)的节点模型,如下图 9所示:
(3)建立服客户端(Client)的进程模型,如下图 10所示:
(4)使用VS 2010编写外部服务器(Server)程序,生成VS_Server.exe可执行文件与OPNET进行Socket通信。该解决方案可以实现对不同类型数据的发送,并能对仿真运行进行控制。
“send X”(X表示用户想要发送到OPNET客户端的字符串)命令可以实现对字符串X的发送;
“add a b”命令指明了移动的节点对象以及相应的位置坐标;
“quit”命令可以实现对OPNET客户端的关闭,使连接中断;
图 11 VS服务器的解决方案
(5)开启OPNET Socket客户端:右击仿真场景中Profile Config进行端口号和IP地址的设置,运行仿真即开启OPNET Socket客户端。
(6)开启VS服务器:运行步骤(4)生成的VS_Server.exe执行文件即开启Socket服务器,按照提示输入端口号与OPNET搭建的Socket客户端建立连接,然后进行数据传输。
实现功能:OPNET搭建的客户端仿真场景中,节点Profile Config可以实现对端口号和IP地址的设置;节点Socket_client可以实现与外部VS程序进行Socket通信;外部程序VS 2010建立的Server服务器可以实现输入端口号与OPNET搭建的Socket客户端建立连接,然后进行数据传输;可以实现指定节点的移动,使指定节点按照给定的位置移动。开始时外部的VS(服务器)发送数据(节点的位置信息)到OPNET的网关Socket_client,网关Socket_server收到数据以后会利用远程中断的方式使节点(0、1或2)移动,而在网关调用远程中断之后会立刻发送位置信息到外部的VS。
opnet中SOCKET接口开发相关推荐
- socket接口调用 java_Java中socket接口调用(示例代码)
最近一个项目中接口通讯这一块主要是调用银联系统的socket接口,我方是客户端,即发送请求接收返回报文的一方.在贴代码之前,还是要了解一下关于socket的基础知识. Socket的基本概念 1.建立 ...
- java socket调用接口_Java中socket接口调用
最近一个项目中接口通讯这一块主要是调用银联系统的socket接口,我方是客户端,即发送请求接收返回报文的一方.在贴代码之前,还是要了解一下关于socket的基础知识. Socket的基本概念 1.建立 ...
- python中restful接口开发实例_Python RESTful接口开发02
什么是RESTful RESTful是一种设计思想,一种风格. RESTful主要包括 资源 和 对资源的操作. 资源: 对实体的抽象,图书.音乐.电影.学生等都属于资源. 对资源的操作: ===== ...
- 说说第三方支付接口开发及开发中遇到的坑爹问题
前言 最近在做公司的支付接口,从微信支付到各种第三方的支付接口,还有点卡等支付,微信支付文档相对比较详细,虽然也不少坑,被各路开发人员吐槽,但是填的人多啊,所以是最好开发的,但是公司还有用到一些第三方 ...
- api接口加密_谈谈API接口开发中的安全性如何解决
如今各种API接口层出不穷,一个API的好与不好可以从很多方面来考量,其中"安全性"就是一个API接口最基本也是最重要的一个特点.本文就来跟大家聊聊关于API接口开发的安全性问题. ...
- api 接口开发理论 在php中调用接口以及编写接口
如: http://localhost/openUser.php?act=get_user_list&type=json 在这里openUser.php相当于一个接口,其中get_user_l ...
- Socket编程中具体接口的用法
Socket的函数很多,Windows中头文件是Winsock2.h,下面介绍经常使用的几个. 一.Socket()接口 SOCKETWSAAPI socket(_In_ int af,_In_ in ...
- 亚马逊电商数据自动化管理接口平台JAVA SP-API接口开发(中)
亚马逊电商数据自动化管理接口平台JAVA SP-API接口开发(中) 重要说明 本文章为亚马逊系列其中的一篇,具体详见 主页 中亚马逊分类 该系列项目均为[CSDN轻夏]原创,未经允许禁止转载 如有疑 ...
- 第三方支付接口开发及开发中遇到的坑爹问题
前言 最近在做公司的支付接口,从微信支付到各种第三方的支付接口,还有点卡等支付,微信支付文档相对比较详细,虽然也不少坑,被各路开发人员吐槽,但是填的人多啊,所以是最好开发的,但是公司还有用到一些第三方 ...
- 软件项目成本评估中,关于接口开发的工作量评估有什么标准方法吗?
问:软件项目成本评估中,关于接口开发的工作量评估有什么标准方法吗? 答:如果是外部接口,就正常识别功能点即可,接口通常对应事务功能,但有可能有变化的数据功能.(来源:中基数联)
最新文章
- 【OpenCV 4开发详解】漫水填充法
- uhttpd 架构调用细节之lua
- java学习一 path与classpath
- FactoryBean的使用--转
- 10个Eclipse珍藏插件推荐
- 12月中国域名服务商Top20市场份额解析(图)
- Hi3531与Hi3520 GPIO口的对比及驱动的修改
- php多维数组交集,求数组差/交集函数-php数组函数(二)
- win10可用空间变成未分配_系统C盘磁盘空间不够用的解决办法
- Knowledge Distillation(知识蒸馏)Review--20篇paper回顾
- 微信开发者工具的最详细步骤如下:
- 计算机软件实习每日学习打卡(1)20201130
- nginx: [warn] the “user“ directive makes sense only if the master process runs with super-user privi
- GitLab CI 介绍
- 2020-06-08
- python类中最大的_python类的学习笔记(一)
- memset(G, 0x3f, sizeof(G))涵义
- 使用html5制作表格
- android按钮输出音频,android – 如何点击按钮播放声音
- 离散数学_十章-图 ( 5 ):连通性 - 下