栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

opnet中SOCKET接口开发

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

opnet中SOCKET接口开发

​​​​

  1. Socket接口模块实现方案
  1. 功能描述

Socket接口模快实现OPNET系统级仿真平台与外部软件之间基于Socket通信,包括建立连接、数据传送,模块支持端口及IP地址设置。

  1. 实现流程

利用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通信操作;

  1.   使用软件

Modeler 18.0仿真软件

Microsoft Visual Studio 2010

  1. Socket接口模块具体实现步骤
  1. 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。

  1. OPNET搭建Client仿真模型与VS搭建的Server进行通信 

步骤如下:

(1)使用OPNET Modeler 18.0创建一个客户端(Socket_client)的网络模型,如下图 7所示:



图 7 网络模型

其中,Client用来实现与外部VS建立的服务器(Server)进行Socket通信;Profile Config用来配置端口号和IP地址。节点“0”、“1”和“2”实现内部节点的位置信息更新,在Socket_server网关收到消息后,会通过远程中断的方式来控制、反馈内部仿真节点位置信息更新操作。右击仿真场景中的Profile Config,左击选择Edit Attributes选项, 在弹出的Attributes窗口中,点击Dest_IP_Address进行IP地址的设置,点击Dest_Port进行端口号Value的设置。如下图 8所示:

 图 8 Attributes设置

(2)建立客户端(Client)的节点模型,如下图 9所示:

图 9 客户端(Client)节点模型

(3)建立服客户端(Client)的进程模型,如下图 10所示:

   10  客户端(Socket_client)进程模型

(4)使用VS 2010编写外部服务器(Server)程序,生成VS_Server.exe可执行文件与OPNET进行Socket通信。该解决方案可以实现对不同类型数据的发送,并能对仿真运行进行控制。

“send X”(X表示用户想要发送到OPNET客户端的字符串)命令可以实现对字符串X的发送;

“add a b”命令指明了移动的节点对象以及相应的位置坐标;

“quit”命令可以实现对OPNET客户端的关闭,使连接中断;

其中VS服务器的解决方案如下图 11所示:

图 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。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/320787.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号