USB联机线编程接口(API)
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)的更多相关文章
- (转载)Linux系统调用及用户编程接口(API)
(转载)http://www.farsight.com.cn/news/emb167.htm 1 Linux系统调用 所谓系统调用是指操作系统提供给用户程序调用的一组“特殊”接口,用户程序可以通过这组 ...
- FTK应用程序编程接口(API)手册-1【转】
转自:http://blog.csdn.net/absurd/article/details/6702047 框架函数 框架函数支撑FTK的主体,它负责初始化应用程序,启动主循环和退出主循环.它对任何 ...
- Linux系统调用及用户编程接口(API)
系统调用 所谓系统调用是指操作系统提供给用户程序调用的一组"特殊"接口,用户程序能够通过这组"特殊"接口来获得操作系统内核提供的服务.比如用户能够通过进程控制相 ...
- Atitit 图像处理之编程之类库调用的接口api cli gui ws rest attilax大总结.docx
Atitit 图像处理之编程之类库调用的接口api cli gui ws rest attilax大总结.docx 1. 为什么需要接口调用??1 1.1. 为了方便集成复用模块类库1 1.2. 嫁 ...
- API(Application Programming Interface,应用程序编程接口)
API(Application Programming Interface,应用程序编程接口)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码 ...
- Flask 教程 第二十三章:应用程序编程接口(API)
本文翻译自The Flask Mega-Tutorial Part XXIII: Application Programming Interfaces (APIs) 我为此应用程序构建的所有功能都只适 ...
- LATTICE USB下载线接口说明
这节知识摘抄于网络,仅用几张图片来显示,提醒Usb下载线的连接方式. 最后贴出个人使用的8线的USB下载器的连接方式: 再补充一点,应为彩色杜邦线与USB下载器是活口连接,两个可以分开,再连接的时候, ...
- NetBIOS与Winsock编程接口
最近在看网络编程方面的书,由于不是通信专业出身的,以前理解的网络体系感觉就是tcp/ip,最近工作上接触到了一些光环网等乱七八糟的东西,有些基本的LC.SC连接器都不认识.花时间看了下计算机网络体系结 ...
- 网络层、传输层、应用层、端口通信协议编程接口 - http,socket,tcp/ip 网络传输与通讯知识总结
引: http://coach.iteye.com/blog/2024511 什么是TCP和UDP,以及二者区别是什么? TCP的全称为传输控制协议.这种协议可以提供面向连接的.可靠的.点到点的通信. ...
随机推荐
- window下Slik SVN的安装配置
我相信各位都应该对SVN不会陌生吧,我相信绝大多数人都使用过,但是并不是人人都自己配置过SVN服务器.下面就是我配置SVN服务器的步骤,以及在配置过程中碰见的一些问题,在此记录,希望对你有所帮助. 安 ...
- Flask学习记录之Flask-Moment
Moment.js 是一个简单易用的轻量级JavaScript日期处理类库,提供了日期格式化.日期解析等功能.它支持在浏览器和NodeJS两种环境中运行.此类库能够 将给定的任意日期转换成多种不同的格 ...
- pyqt5消息框QMessageBox
QMessageBox消息框有以下几种类型: QMessageBox.information 信息框 QMessageBox.question 问答框 QMessageBox.warning ...
- Java学习笔记--Java8 Lambda表达式
Java Lambda表达式入门:http://blog.csdn.net/renfufei/article/details/24600507 lambda内容的介绍:http://swiftlet. ...
- Swift--访问级别-备
访问级别: Swift提供了3种不同访问级别,对应的访问修饰符为:public.internal和private.这些访问修饰符可以修饰类.结构体.枚举等面向对象的类型,还可以修饰变量.常量.下标.元 ...
- logstash nginx 报ArgumentError: comparison of String with 5 failed
80.82.78.38 [23/Sep/2016:05:36:18 +0800] "GET http://www.baidu.com/cache/global/img/gs.gif HTTP ...
- hdu3849-By Recognizing These Guys, We Find Social Networks Useful:双连通分量
By Recognizing These Guys, We Find Social Networks Useful Time Limit: 2000/1000 MS (Java/Others) ...
- 写在学习linux内核协议栈之前
一直很喜欢内核,但是新手,非常的痛苦啊.现在看一本linux内核协议栈源码解析一书,将自己学习的经历以及 理解记录下来,以备将来回头查漏补缺,同时校正自己的理解错误,自勉
- C语言中所有变量和常量所使用的内存总结
(1)相同点:三种获取内存的方法,都可以给程序提供可用内存,都可以用来定义变量给程序用.(2)不同点:栈内存对应C中的普通局部变量(别的变量还用不了栈,而且栈是自动的,由编译器和运行时环境共同来提供服 ...
- linux系统批量无人值守安装
一:批量无人值守安安装原理 利用DHCP TFTP FTP和PXE技术实现批量安装系统,首先在主server上安装好DHCP TFTP和FTP服务,client通过网卡的PXE技术获取到IP地址和TF ...