USB联机线编程接口(API)

2013-10-19

本页面的文字允许在知识共享 署名-相同方式共享 3.0协议GNU自由文档许可证下修改和再使用。

关键字:USB隔离线、USB点对点通讯、USB通讯编程接口、USB数据传输、双机互联、USB数据共享、键鼠共享器、USB联机线、USB联网线、USB共享线、USB互联线、USB对拷线、USB对联线、USB互联线、USB文件传输、USB。

一、概述

  当前计算机的USB口已很普遍,USB2.0理论传输速率最高为480Mbps,即60MB/s,USB3.0理论传输速率最高为5Gbps,即625MB/S。目前USB口主要用于U盘、USB硬盘、USB键盘、USB鼠标、USB摄像头、USB光驱等。

  其实,增加一条USB联机线利用USB口还可实现基于USB口的内外交网隔离、小型分布式服务器、USB点对点通讯、USB点对多点通讯、光驱共享、数据共享、网络共享、联网、键鼠共享、剪贴板共享、档案共享等很多应用,因此USB联机线也叫USB隔离线、USB通讯线、USB联网线、共享线、互联线、对拷线、对联线。

  市场上的联机线都是配置专用软件实现联网、数据共享、键鼠共享、剪贴板共享、USB设备共享等功能,它们均不提供编程接口(API),开发人员不能用它通过USB口实现自己的各种应用,如内外网隔离、点对点(或点对多点)通讯、小型分布式服务器等。基于这些开发人员的需求,石家庄市众智电子科技开发中心开发了usb联机线编程接口(API),为开发人员开发自己的基于联机线的各种应用提供支持。有需要的朋友请联系:0311-87024917。

  USB联机线API,提供基于USB口的usb2usb透明传输编程接口,用户可以用它开发各种自己的应用。如:加密传输、内外网隔离等等。对于内外网隔离应 用,做隔离的两台PC,用专用的USB联机线通过USB口相连,发送和接收的数据完全自己控制,具有很高的安全性,近乎于完全的物理隔离,但比物理隔离使用起来更方便。


二、众智USB联机线API

/*****************************************************************************
Filename: zzUsbAPI.h
Function: usb联机线API接口。
           Ver1.0  2012.6.28
Editor:   LiuYaoKai
Date:     2012.6.28
         Copyright(C) by LiuYaoKai 13803113171 0311-87024917
******************************************************************************/
 
//功能描述:初始化API, 获取设备ID,获取包尺寸,包尺寸最大为64K
//输入参数:无
int u2u_init();
 
//打开USB联机线设备。返回true成功,false失败
BOOL u2u_Open(); 
 
//功能描述:从usb接收数据
//输入参数:lpBuf 接收数据的缓冲区指针,接收缓冲区的尺寸应当大于等于包尺寸。
//          len   接收的数据长度
//          ret   用于返回错误代码或接收缓冲区内剩余的未处理包的数量。
BOOL u2u_RecvData(LPBYTE lpBuf, int& len, int& ret );
 
//功能描述:从usb发送数据
//输入参数:lpBuf 发送数据的缓冲区指针,发送缓冲区的尺寸应当小于等于包尺寸。如果
//          lpBuf=NULL, 该函数返回发送缓冲区内剩余的未处理包的数量。
//          len   发送的数据长度。
//          ret   用于返回错误代码或发送缓冲区内剩余的未处理包的数量。
BOOL u2u_SendData(LPBYTE lpBuf, int len, int& ret );
 
//关闭usb联机线设备。
void u2u_Close();
 
//卸载API。应当先关闭usb联机线设备,再执行此操作。
void u2u_Exit();
 
//获取api操作的最后一个错误的错误代码
DWORD u2u_getLastErr();
 
//清空发送和接收缓冲区
void u2u_FreeTxRxBuf();
 
三、USB联机线简介
  USB联机线和普通的USB线不同,他是一种中间带芯片的线。因为USB总线系统中只能有一个主机,通常电脑的USB接口都是主机接口,所以不能简单的把它们连接在一起,之间需要一个转换,中间的芯片就是完成这个转换的,这才有USB联机线的产生,USB联机线中间有个小疙瘩,或者一端类似U盘,有的联机线本身也可做U盘使用。
  1条USB联网线 = 2块网卡+1条网线,且速率比网卡快得多,且能隔离病毒、网络攻击,非常安全。
   


 
USB联机线的用途:
  • 基于USB口的内外网隔离
  • USB点对点通讯
  • USB点对多点通讯
  • USB文件传输、USB数据传输
  • 小型分布式服务器
  • 两台计算机间档案高速传送复制
  • 两台计算机间的邮件/行事历/联络人等同步功能
  • 两台计算机间档案同步
  • 随身碟的档案管理程序
  • 分享IP上网(无需网卡,透过另一部计算机上网)
  • 分享光驱(对方光驱可以当成你的外接光驱直接使用)
  • 分享键盘鼠标
。。。。。。。

USB联机线编程接口(API)的更多相关文章

  1. (转载)Linux系统调用及用户编程接口(API)

    (转载)http://www.farsight.com.cn/news/emb167.htm 1 Linux系统调用 所谓系统调用是指操作系统提供给用户程序调用的一组“特殊”接口,用户程序可以通过这组 ...

  2. FTK应用程序编程接口(API)手册-1【转】

    转自:http://blog.csdn.net/absurd/article/details/6702047 框架函数 框架函数支撑FTK的主体,它负责初始化应用程序,启动主循环和退出主循环.它对任何 ...

  3. Linux系统调用及用户编程接口(API)

    系统调用 所谓系统调用是指操作系统提供给用户程序调用的一组"特殊"接口,用户程序能够通过这组"特殊"接口来获得操作系统内核提供的服务.比如用户能够通过进程控制相 ...

  4. Atitit 图像处理之编程之类库调用的接口api cli gui ws rest  attilax大总结.docx

    Atitit 图像处理之编程之类库调用的接口api cli gui ws rest  attilax大总结.docx 1. 为什么需要接口调用??1 1.1. 为了方便集成复用模块类库1 1.2. 嫁 ...

  5. API(Application Programming Interface,应用程序编程接口)

    API(Application Programming Interface,应用程序编程接口)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码 ...

  6. Flask 教程 第二十三章:应用程序编程接口(API)

    本文翻译自The Flask Mega-Tutorial Part XXIII: Application Programming Interfaces (APIs) 我为此应用程序构建的所有功能都只适 ...

  7. LATTICE USB下载线接口说明

    这节知识摘抄于网络,仅用几张图片来显示,提醒Usb下载线的连接方式. 最后贴出个人使用的8线的USB下载器的连接方式: 再补充一点,应为彩色杜邦线与USB下载器是活口连接,两个可以分开,再连接的时候, ...

  8. NetBIOS与Winsock编程接口

    最近在看网络编程方面的书,由于不是通信专业出身的,以前理解的网络体系感觉就是tcp/ip,最近工作上接触到了一些光环网等乱七八糟的东西,有些基本的LC.SC连接器都不认识.花时间看了下计算机网络体系结 ...

  9. 网络层、传输层、应用层、端口通信协议编程接口 - http,socket,tcp/ip 网络传输与通讯知识总结

    引: http://coach.iteye.com/blog/2024511 什么是TCP和UDP,以及二者区别是什么? TCP的全称为传输控制协议.这种协议可以提供面向连接的.可靠的.点到点的通信. ...

随机推荐

  1. PHP页面中文乱码问题

    首先纯html页要用meta标签声明编码<meta http-equiv="Content-Type" content="text/html; charset=&q ...

  2. Android用gif做启动页

    公司的一个app的启动页想改为gif图,之前没有在android中加入过gif,所以赶紧饿补! 前言 我们都知道ImageView是不能完美加载Gif格式的图片,如果我们在ImageView中src指 ...

  3. Robot Framework自动化测试---元素定位

    不要误认为Robot framework 只是个web UI测试工具,更正确的理解Robot framework是个测试框架,之所以可以拿来做web UI层的自动化是国为我们加入了selenium2的 ...

  4. QuickReport多页打印

    You use composite reports for this(TQrCompositeReport) on the quickreports tabTake a look in the Dem ...

  5. TestNG基本注解(注释)

    传统的方式来表示JUnit3中的测试方法是测试自己的名字前缀.标记一个类中的某些方法,具有特殊的意义,这是一个非常有效的方法,但命名不很好的扩展(如果我们想添加更多标签为不同的框架?),而非缺乏灵活性 ...

  6. C#中dynamic、ExpandoObject 的正确用法

    原文地址:http://www.cnblogs.com/qiuweiguo/archive/2011/08/03/2125982.html dynamic是FrameWork4.0的新特性.dynam ...

  7. 使用css框架的优缺点

    使用css框架的优点 1.加速开发 CSS框架提供通用的代码(如reset,和移动端开发的一些常用设置)和许多丰富的UI组件样式——因此我们不需要从头开始写. 2.无兼容性烦恼 CSS框架解决了各个浏 ...

  8. vbox下centos安装增加功能失败

    一般都是:unable to find the sources of your current Linux kernel. 先尝试这个吧:yum install kernel kernel-heade ...

  9. 利用libevent的timer实现定时器interval

    在不怎么了解libevent的情况下,看到timer这个关键字想到可以用来做定时任务,官方资料也不齐全,就从代码里看到了TIMEOUT字样,这么说来应该是支持timeout了,那interval呢,貌 ...

  10. EnableDocking

    CFrameWnd::EnableDocking void EnableDocking(DWORD dwDockStyle); 參数: dwDockStyle 指定框架窗体的哪一边可作为控件条的停靠点 ...