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. Selinux 禁用

    Selinux是对于强制访问控制的实现,在这种访问控制体系的限制下,进程只能访问那些在他的任务中所需要文件. 对于新手来说会影响我们的操作.一般情况下是不需要的,所以禁用他,如果需要的情况下,我们可以 ...

  2. django 模板视图,表单视图,各种视图

    Generic editing views¶ The following views are described on this page and provide a foundation for e ...

  3. 指针与数组、大小端之 printf("%x,%x,%x\n",*(a+1),ptr1[-1],*ptr2);

    在X86系统下,以下程序输出的值为多少? #include <stdio.h> #include <stdlib.h> int main(void) { ]={,,,,}; ) ...

  4. IDEA 快捷键整理

    1. IDEA内存优化  \IntelliJ IDEA 9\bin\idea.exe.vmoptions ----------------------------------------- -Xms6 ...

  5. 怎样检查手机是否root成功

    怎样检查手机是否root成功 浏览:154361 | 更新:2011-01-20 13:10 | 标签:root 总有人以为,root后就可以删除自带程序了,这个想法也对也不对,想删除自带的软件,确实 ...

  6. 黑马程序员_Java_多线程

    8.多线程 8.1.多线程概述 进程:是一个正在执行中的程序.每一个进程执行都有一个执行顺序.该顺序是一个执行路径,或者叫一个控制单元. 线程(例:FlashGet):就是进程中一个独立的控制单元.线 ...

  7. pyglet: a cross-platform windowing and multimedia

    pyglet pyglet: a cross-platform windowing and multimedia library for Python.

  8. 【Eclipse DDMS】 Can't bind to local 8600 for debugger

    问题原因: 电脑上同时安装了Eclipse 和Android Studio两个ide. 关键是使用eclipse adb连接真机时候,android studio也处于运行状态,后者默认也是要连接ad ...

  9. MyBatis3整合Spring3、SpringMVC3

    开发环境: System:Windows WebBrowser:IE6+.Firefox3+ JavaEE Server:tomcat5.0.2.8.tomcat6 IDE:eclipse.MyEcl ...

  10. hdu 5313 Bipartite Graph(dfs染色 或者 并查集)

    Problem Description Soda has a bipartite graph with n vertices and m undirected edges. Now he wants ...