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. NonUniqueObjectException 问题

    org.hibernate.NonUniqueObjectException: a different object with the same identifier value was alread ...

  2. js文本框失去焦点事件与按钮单击事件的冲突问题

    <input type="text" id="txt" name="txt"/> <input type="bu ...

  3. http://www.cnblogs.com/zhuli19901106/p/4356419.html

    http://www.cnblogs.com/zhuli19901106/p/4356419.html

  4. cf D. Dima and Trap Graph

    http://codeforces.com/contest/366/problem/D 遍历下界,然后用二分求上界,然后用dfs去判断是否可以. #include <cstdio> #in ...

  5. Qt for Windows - Deployment和它的参数

    http://doc.qt.io/qt-5/windows-deployment.html

  6. 在WPF中使用AForge.net控制摄像头拍照

    原文:在WPF中使用AForge.net控制摄像头拍照 利用AForge.net控制摄像头拍照最方便的方法就是利用PictureBox显示摄像头画面,但在WPF中不能直接使用PictureBox.必须 ...

  7. Cmake,链接一个外部(也可能是第三方,也可能是自己编译的)库

    相当于设置VS工程里面的: 然后,为了链接成可执行文件,链接器就会到指定的目录寻找相应的库了. 以下时Demo: cmake_minimum_required(VERSION 2.8) #set(CM ...

  8. Linux CentOS 7 YouCompleteMe相关配置。

    CentOS 6.5上面弄了2天,以失败告终!!!当作练手了.在网上看到一篇CentOS7.0上安装YouCompleteMe插件的文章,就重新在虚拟机上安装了一个CentOS7,按那个文章执行了一下 ...

  9. Bootstrap风格登录界面设计样例

    参考:http://bootsnipp.com/tags/login Register Page   127.8K 187 Modal Login with jQuery Effects   159. ...

  10. Annotation(四)——Struts2注解开发

    Hibernate和Spring框架的开发前边总结了,这次看一下流行的MVC流程框架Struts2的注解开发吧.Struts2主要解决了从JSP到Action上的流程管理,如何进行Uri和action ...