自己做的网站发表评论的时候直接同步到腾讯微博的问题?

shuang121 2012-08-11 10:10:03
我想实现自己做的网站发表评论的时候直接同步到腾讯微博,就比如上图这种!
腾讯虽然开放了应用平台,也提供了api和sdk,难道我不能直接调用api或者使用sdk吗,必须要注册申请为应用开发者吗,就算是申请后得到了一个appkey,也必须把自己的开发的应用上架才可以吗,请实现过的高手指点一下,本人QQ:475280068,谢谢!
...全文
90 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复
司科仿美团O2O程序源码最新版+wap+微信版亲测完整版是一款基于PHP语言设计的团购网站源码。 司科出品,必属精品!司科公司多年网站建设经验,专业提供商城网站制作,团购网站建设,团购APP制作,商城客户端设计,微信营销系统等服务。 PC端功能介绍: 产品发布 发布以天为形式的商品项目(添加、删除、修改、编辑) 秒杀抢团项目 发布以秒为形式的商品项目 商户展示 一、商家有自己的简单的介绍页面,介绍信息和产品 二、商家可以自己的后台对商品券进行验证消费。 商家专卖店展示系统 一、合作商家可以通过后台发布自己的展示商品和商家新闻,帮助树立商家企业形象,加强与商家的合作。 二、商家可以自己的后台对商品券进行验证消费。 商家上传系统 商家可以自行上传产品,管理员审核,审核通过即可显示,审核不通过商家再修改。 商家结算系统 V1.0 超级商家结算系统,网站自动计算商家提成 超强团购商家店铺 团购商家有独立商家店铺展示,实用性强! 会员级别V1.2 根据会员消费情况等,可以自动升级级别 手机版微信支付 包括PC的扫描支付&微信公众号的微信支付 消费评价+评分功能 独家用户消费评价+评分功能,提升用户体验 城市代理商管理V1.0 每个城市产品可以由独立代理商后台管理 可修改商品时间 可对商品进行修改结束时间,让操作更加方便、人性化。 支持商品退款 提供客户申请商品模式,让商品更加自由,让客户在商品中无后顾之忧,可对商品项目设置两种模式:支持 不支持。 支持快递商品 发布项目的时候,可选择优惠券或快递。 好友邀请 用户通过人人网、开心网、MSN/QQ等社交网络邀请好友注册购买。 邮件订阅 用户用来订阅本站每天商品项目信息,方便对自己感兴趣的商品项目及时下单购买。 短信订阅 用户输入手机号码订阅商品信息,可以收到每日最新商品的短信息。 本单答疑 展示在网站右侧,用户可通过答疑,向网站客服咨询,网站管理员在后台回复后显示内容。 常见问题 展示网站内的文字信息,比如:新手指南,入门教程以及常见问题等。 短信发券 用户购买时输入手机号码,购买成功后,可收到由商品网站统一发出的优惠券帐号和密码。 团券认证 用户消费商品券时,可以在此注销或查询团券有效期。团券注销后不可二次使用。 商家地图展示 通过后台设置商家的具体位置,方便消费型商品的客户查找 项目分类首页展示 首页分类不同的产品,不同楼层展示 多城市切换 商品产品可以分配不同的城市显示 在线客服QQ 通过客服qq,方便与网站浏览者及时沟通。 强大的在线分享 用户通过MSN 人人 网易 开心 豆瓣 百度 腾讯 飞信 新浪微博 QQ空间、等,快速分享给好朋友心怡的商品 网项目。 管理员等级及授权 总管理分配下属管理员,各自管理各自的项目 后台控制分类 自可以后台控制推荐产品,分类展示商品。 邮箱发送邮件 用户可以自己设置邮箱,群发邮件给用户 图片延时加载 采用图片延时加载,极大减少服务器带宽 快递单号批量上传 商家可以建立一个TXT文档,输入订单编号,快递单交给网站运营者,网站运营者在后台上传这个TXT文档, 系统批量给这些订单生成快递单号 每个项目设置自己独立的SEO 每个项目可以在后台设置自己独立的SEO,更利于网站被搜索引擎收录,让您的网站排名靠前。 整站生成静态页面 自动生成伪静态,可以增加网页访问速度及搜索引擎排名,提高网站的质量。 首页及内页广告位 通过后台的操作来发布首页及内页通栏相关的广告图片及图片链接从而及时发布重要信息和促销活动。 公告发布 统一发布公告,也可以按地区来发布相关的促销信息以及网站公告。 手机参与商品 通过手机上网参与商品。 购物车功能 方便用户一次性挑选多个商品进行购买 用户购买选择快递 让用户在购买时自己选择城市和快递公司 到货评论功能 用户对已购买的商品发表评论。增加用户粘性,吸引其他浏览者 虚拟购买人数 项目可以设置虚拟购买人数,刺激用户消费 管理员操作日志 根据需求进行后台管理员的权限分配 数据库的备份 根据需求自行在后台进行数据备份 用户调查参与 发布小调查,直观了解用户产品需求 多件免邮功能 根据购买数量设置是否免去邮费 友情链接 通过后台设置文字链接及图片链接 网站统计 客户根据统计报表可以知道每天用户访问量IP、浏览量pv、地区、ip地址及来自那个网站等,可根据时间生成报表,从而为网络营销提供依据。 WAP端功能介绍: 城市切换 触屏版会根据打开的用户地区进行自动城市更新,弹出提示,是否回到当前城市。 登陆注册 用户可以用QQ或者手机号码登陆触屏版进行购物,减少繁琐的输入选项。 在线搜索 触屏版首页有搜索框,用户可以输入自己喜欢的产品关键字进行查找购
KesionCMS V9.5.140605 更新列表: 1、修复会员中心上传漏洞,见:http://bbs.kesion.com/forumthread-1168139.html 2、修复会员中心短消息存在小xss漏洞 3、修复友情链接可能被存在的xss漏洞 4、修复会员中心投诉建议,可能存在的XSS漏洞 5、修复登录标签,会员登录后返回有点BUG 6、修复网银支付接口后台对账文件user/ChinaBankAutoReceive.asp 如果是商城订单可能没有同步的BUG 7、加强会员签到脚本的过滤,以免出现XSS漏洞 8、修复升级到9.5.140102版本后,附件下载提示“非法下载” 9、修复会员中心出现广告竟价及团购的无效链接   KesionCMS是漳州科兴信息技术有限公司开发的一套万能建站产品,是CMS行业最流行的网站建设解决方案之一,V9.5采用ASP ACCESS/MSSQL架构,系统具有极强的可扩展性,并且一直以来完全开放源代码;这套系统自2006年发布的第一个版来以来,以其简单易用、功能强大、拓展性极灵活而倍受广大用户的青睐,至今已累计三十万的用户群。   拥有CMS业界最全的功能,是适合任何网站的最佳解决方案 功能模型十分齐全,系统拥有CMS业界最全的功能,含文章、图片、下载、商城、供求、人才、动漫、微博、影视、考试、团购、房产、问答、论坛、会员、博客空间、黄页、产品库、专题等十几个主系统和采集、调查、评论、搜索、公告、PK、心情指数、顶客DIGG、签收等几十项子系统组合而成,代码完全开源化,在尊重版权的前提下能极大的满足站长对于网站程序进行二次开发,以满足任意网站的任何需求;系统采用模型拓展,用户可以根据网站的需要,自行在后台通过自定义模型和字段来实现各种网站的功能需求,通过自定义表单实现在线报修,报名,在线反馈等系统;系统在安全性、稳定性、易用性方面具有较高的声誉,深受广大站长推崇,其灵活的产品架构、极强的可扩展性和可伸缩性完全能最大化满足站长目前及今后的应用需求   人性化的管理操作平台,灵活的模板标签管理 人性化的管理操作平台和灵活的模板标签管理,倍受广大用户的喜爱,系统将前台的模板和标签分离,全面支持table和div css,让模板制作更加灵活,不局限于某种风格,随心所欲的DIY,让您的网站页面可以随时更换风格随时更改布局,万能标签让您实现各式各样的网站效果,不懂代码没关系,我们还有多种标签样式可以选择,只需轻松的点点您的鼠标,一个网站好了。   栏目无限级分类并支持绑定顶级或二级域名 系统支持栏目无限级分类,并可对系统栏目进行一级或N级栏目的排序操作,对栏目之间的内容进行复制(CTRL C),粘贴(CTRL V)操作,对栏目的内容进行合并,对栏目或文章进行批量的绑定模板或设置文章的属性,点击次数等; 另外新版中栏目支持绑定顶级或二级域名,满足为了方便用户记忆或便于SEO或者大型网站的需要。   强大的搜索引擎(SEO),自定义生成路径 系统支持动态asp,伪静态(带组件和不带组件),全静态三种生成方式,并且可以自定义生成的Html路径,方便自己SEO,用户可以根据网站的需求随意选择。   无处不在的SNS互动元素,让您的爱站更具交流互动性 在这个日新月异的网络时代,KesionCMS始终以用户体验为导向,在本次V8.0版本中,融入更多的SNS。博客日志管理功能、相册管理功能、朋友圈管理功能、群组讨论管理功能、新鲜事、网友动态、最近谁来看过我、空间留言、日志评论、RSS在线订阅管理功能、收藏夹管理功能、邮件群发功能、短消息服务等实用功能;无处不在的SNS互动元素,让您的爱站帮助所有用户在浏览您的网站时更好的交流互动。   灵活的商业运营模式,完善的用户权限分配系统和资金明细 KesionCMS系统拥有一套健全完善的会员体系和完整的支付平台接口。可以在后台自由设置会员组,可以对栏目和文章设置会员浏览时权限及查阅所需消耗的科汛币金额;会员在会员中心可以在线充值或购买点卡进行充值;另外,网站的管理员在后台可以详细的查看资金明细,用户在前台会员中心也有详细的资金明细表。这样一来,网站可以通过销售点券,积分,充值卡,资金等来进行盈利。   打破传统CMS系统瓶颈,系统自带功能强大的论坛BBS KesionCMS打破CMS系统瓶颈,系统自带功能强大的BBS,不再为了整合第三方论坛平台而烦恼,一站式用户登录,系统还集成腾讯QQ,新浪微博及支付宝快捷登录,只需绑定下帐户,以后可以直接用QQ号或支付宝帐户登录。论坛拥有大型论坛的功能,可自定义版面分类、版规说明、版主分配、权限分配、设置积分和威望、论坛等级头衔设置,还可以将版面设置为认证版面,只有特定权限的用户才能进入认证版面发帖。发表主题后,可以只看该作者及查看该作者发表的主题;可以在会员中心查看自己发表的主题;可以对用户帖子进行点评,回复,还可对精典的帖子内容进行置顶,加精等操作。   下面简要介绍下新版本V9.5较之旧版本的一些重大改进。 亮点一 首先,整个后台登陆界面重新设计美化,随机更换不同界面背景——视觉性更强。 其次,新版本的后台代码几乎重写,采用了html5架构,在不改变原有操作习惯的情况下,对后台界面进行美化美化。再者,应广大用户需求,此新版本程序在各个浏览器的兼容方面足了功夫,目前可兼容不同浏览器(如ie,firefox,360, Chrome,搜狗等)。   亮点二 一改早期版本自带幻灯标签样式单一,兼容性不好等问题,新版本V9.5重新开发,引入myfocus v2.0.4幻灯插件,支持数十种幻灯效果,并可以应用到内容主模型,论坛及博文系统上。 长期积累,网站中可能存在大量的无用标签,每次读出标签时对系统的性能或多或少哦都会有所影响,至此,新版本增加一键清理无用标签功能,标签管理开发为列表形式,更近一步兼容多种浏览器。 后台稿件统计增设可按管理员、会员组、会员列表导出Excel功能。管理员管理网站中,增设稿件多级审核功能,即为为管理员分配不同角色(发稿员、初审员、终身员),而文档只有通过终身才能在前台演示。   亮点三 首先,商城系统后台管理列表重新优化,增加显示商品小图、大图和价格等功能。购买商品多件可设置多件免邮功能或者购买商品满一定额度,设置免邮。会员中心订单管理界面仿淘宝效果进行了美化,简化会员操作流程,并增加会员退款退货申请功能。商品购买可以设置积分购买,也可以设置积分现金的购买方式等。 其次,影视系统增加支持百度播放器(默认)及快播,允许下载的话,还支持迅雷及快车下载,让前台用户可以自由选择播放器类型。后台添加的每部影片还支持自定义广告。可设置是否对VIP用户组开放观看影片免广发等。   亮点四 首先,考试系统增加知识点功能,后台可以检查各小题的总分是否等于试卷总分,还可按考生的考试成绩段,设置赠送积分功能(经测试鼠标移动时会动)。 其次,考试系统将不再只能以Excel格式导入试题,新版本增加可以可用word格式导入试题,并且可以按整份复制插入标签的方式添加功能,大大提高了添加试卷的效率。而试题又有纠错功能,增加判断是否发布,未发布的试卷,前台只能看到试卷标题,不能进入考试。 再次,试卷可设置随机抽卷或者整套抽卷,答题方式则可增设答题卡方式和word答题方式,加上之前的普通方式共有三种答题方式可选择。考生答题时改进单题提交时,如果答错了,自动加入错题本,答完提交试卷时,增加提示还有多少道题没有的功能。 最后,考试系统优化答题表情功能,将不需要每小题都单独设置答题表情,而是直接从表情库里根据题情况,随便抽取。考试系统内容页增加可以用<script src="/mnkc/scorelist.asp?sjid=">调出本份试卷的成绩排行。   亮点五 针对自定义表单增加按IP限制,指定时间内只能提交一次,防止注册机提交。修复后台模板管理,插入更多标签在非IE浏览器下无效,不能插入。改进问答系统问题详情页面如果是专家回答的问题,增加可以显示专家认分类及专家姓名等信息,以区分普通会员及专家回答。评论增加数据表,当默认的评论数据表数据量很大量,会严重的影响页面的加载速度。这时我们可以通过创建评论分表来缓存单张评论数据表的负载压力。评论静态化,直接生成HTML代码在内容页,这样评论将被搜索引擎抓取, 提升SEO优化,评论显示模板化。   更多亮点,可参考http://bbs.kesion.com/forumthread-1066568.html
KesionCMS V9.5.140605 更新列表: 1、修复会员中心上传漏洞,见:http://bbs.kesion.com/forumthread-1168139.html 2、修复会员中心短消息存在小xss漏洞 3、修复友情链接可能被存在的xss漏洞 4、修复会员中心投诉建议,可能存在的XSS漏洞 5、修复登录标签,会员登录后返回有点BUG 6、修复网银支付接口后台对账文件user/ChinaBankAutoReceive.asp 如果是商城订单可能没有同步的BUG 7、加强会员签到脚本的过滤,以免出现XSS漏洞 8、修复升级到9.5.140102版本后,附件下载提示“非法下载” 9、修复会员中心出现广告竟价及团购的无效链接   KesionCMS是漳州科兴信息技术有限公司开发的一套万能建站产品,是CMS行业最流行的网站建设解决方案之一,V9.5采用ASP ACCESS/MSSQL架构,系统具有极强的可扩展性,并且一直以来完全开放源代码;这套系统自2006年发布的第一个版来以来,以其简单易用、功能强大、拓展性极灵活而倍受广大用户的青睐,至今已累计三十万的用户群。   拥有CMS业界最全的功能,是适合任何网站的最佳解决方案 功能模型十分齐全,系统拥有CMS业界最全的功能,含文章、图片、下载、商城、供求、人才、动漫、微博、影视、考试、团购、房产、问答、论坛、会员、博客空间、黄页、产品库、专题等十几个主系统和采集、调查、评论、搜索、公告、PK、心情指数、顶客DIGG、签收等几十项子系统组合而成,代码完全开源化,在尊重版权的前提下能极大的满足站长对于网站程序进行二次开发,以满足任意网站的任何需求;系统采用模型拓展,用户可以根据网站的需要,自行在后台通过自定义模型和字段来实现各种网站的功能需求,通过自定义表单实现在线报修,报名,在线反馈等系统;系统在安全性、稳定性、易用性方面具有较高的声誉,深受广大站长推崇,其灵活的产品架构、极强的可扩展性和可伸缩性完全能最大化满足站长目前及今后的应用需求   人性化的管理操作平台,灵活的模板标签管理 人性化的管理操作平台和灵活的模板标签管理,倍受广大用户的喜爱,系统将前台的模板和标签分离,全面支持table和div css,让模板制作更加灵活,不局限于某种风格,随心所欲的DIY,让您的网站页面可以随时更换风格随时更改布局,万能标签让您实现各式各样的网站效果,不懂代码没关系,我们还有多种标签样式可以选择,只需轻松的点点您的鼠标,一个网站好了。   栏目无限级分类并支持绑定顶级或二级域名 系统支持栏目无限级分类,并可对系统栏目进行一级或N级栏目的排序操作,对栏目之间的内容进行复制(CTRL C),粘贴(CTRL V)操作,对栏目的内容进行合并,对栏目或文章进行批量的绑定模板或设置文章的属性,点击次数等; 另外新版中栏目支持绑定顶级或二级域名,满足为了方便用户记忆或便于SEO或者大型网站的需要。   强大的搜索引擎(SEO),自定义生成路径 系统支持动态asp,伪静态(带组件和不带组件),全静态三种生成方式,并且可以自定义生成的Html路径,方便自己SEO,用户可以根据网站的需求随意选择。   无处不在的SNS互动元素,让您的爱站更具交流互动性 在这个日新月异的网络时代,KesionCMS始终以用户体验为导向,在本次V8.0版本中,融入更多的SNS。博客日志管理功能、相册管理功能、朋友圈管理功能、群组讨论管理功能、新鲜事、网友动态、最近谁来看过我、空间留言、日志评论、RSS在线订阅管理功能、收藏夹管理功能、邮件群发功能、短消息服务等实用功能;无处不在的SNS互动元素,让您的爱站帮助所有用户在浏览您的网站时更好的交流互动。   灵活的商业运营模式,完善的用户权限分配系统和资金明细 KesionCMS系统拥有一套健全完善的会员体系和完整的支付平台接口。可以在后台自由设置会员组,可以对栏目和文章设置会员浏览时权限及查阅所需消耗的科汛币金额;会员在会员中心可以在线充值或购买点卡进行充值;另外,网站的管理员在后台可以详细的查看资金明细,用户在前台会员中心也有详细的资金明细表。这样一来,网站可以通过销售点券,积分,充值卡,资金等来进行盈利。   打破传统CMS系统瓶颈,系统自带功能强大的论坛BBS KesionCMS打破CMS系统瓶颈,系统自带功能强大的BBS,不再为了整合第三方论坛平台而烦恼,一站式用户登录,系统还集成腾讯QQ,新浪微博及支付宝快捷登录,只需绑定下帐户,以后可以直接用QQ号或支付宝帐户登录。论坛拥有大型论坛的功能,可自定义版面分类、版规说明、版主分配、权限分配、设置积分和威望、论坛等级头衔设置,还可以将版面设置为认证版面,只有特定权限的用户才能进入认证版面发帖。发表主题后,可以只看该作者及查看该作者发表的主题;可以在会员中心查看自己发表的主题;可以对用户帖子进行点评,回复,还可对精典的帖子内容进行置顶,加精等操作。   下面简要介绍下新版本V9.5较之旧版本的一些重大改进。 亮点一 首先,整个后台登陆界面重新设计美化,随机更换不同界面背景——视觉性更强。 其次,新版本的后台代码几乎重写,采用了html5架构,在不改变原有操作习惯的情况下,对后台界面进行美化美化。再者,应广大用户需求,此新版本程序在各个浏览器的兼容方面足了功夫,目前可兼容不同浏览器(如ie,firefox,360, Chrome,搜狗等)。   亮点二 一改早期版本自带幻灯标签样式单一,兼容性不好等问题,新版本V9.5重新开发,引入myfocus v2.0.4幻灯插件,支持数十种幻灯效果,并可以应用到内容主模型,论坛及博文系统上。 长期积累,网站中可能存在大量的无用标签,每次读出标签时对系统的性能或多或少哦都会有所影响,至此,新版本增加一键清理无用标签功能,标签管理开发为列表形式,更近一步兼容多种浏览器。 后台稿件统计增设可按管理员、会员组、会员列表导出Excel功能。管理员管理网站中,增设稿件多级审核功能,即为为管理员分配不同角色(发稿员、初审员、终身员),而文档只有通过终身才能在前台演示。   亮点三 首先,商城系统后台管理列表重新优化,增加显示商品小图、大图和价格等功能。购买商品多件可设置多件免邮功能或者购买商品满一定额度,设置免邮。会员中心订单管理界面仿淘宝效果进行了美化,简化会员操作流程,并增加会员退款退货申请功能。商品购买可以设置积分购买,也可以设置积分现金的购买方式等。 其次,影视系统增加支持百度播放器(默认)及快播,允许下载的话,还支持迅雷及快车下载,让前台用户可以自由选择播放器类型。后台添加的每部影片还支持自定义广告。可设置是否对VIP用户组开放观看影片免广发等。   亮点四 首先,考试系统增加知识点功能,后台可以检查各小题的总分是否等于试卷总分,还可按考生的考试成绩段,设置赠送积分功能(经测试鼠标移动时会动)。 其次,考试系统将不再只能以Excel格式导入试题,新版本增加可以可用word格式导入试题,并且可以按整份复制插入标签的方式添加功能,大大提高了添加试卷的效率。而试题又有纠错功能,增加判断是否发布,未发布的试卷,前台只能看到试卷标题,不能进入考试。 再次,试卷可设置随机抽卷或者整套抽卷,答题方式则可增设答题卡方式和word答题方式,加上之前的普通方式共有三种答题方式可选择。考生答题时改进单题提交时,如果答错了,自动加入错题本,答完提交试卷时,增加提示还有多少道题没有的功能。 最后,考试系统优化答题表情功能,将不需要每小题都单独设置答题表情,而是直接从表情库里根据题情况,随便抽取。考试系统内容页增加可以用<script src="/mnkc/scorelist.asp?sjid=">调出本份试卷的成绩排行。   亮点五 针对自定义表单增加按IP限制,指定时间内只能提交一次,防止注册机提交。修复后台模板管理,插入更多标签在非IE浏览器下无效,不能插入。改进问答系统问题详情页面如果是专家回答的问题,增加可以显示专家认分类及专家姓名等信息,以区分普通会员及专家回答。评论增加数据表,当默认的评论数据表数据量很大量,会严重的影响页面的加载速度。这时我们可以通过创建评论分表来缓存单张评论数据表的负载压力。评论静态化,直接生成HTML代码在内容页,这样评论将被搜索引擎抓取, 提升SEO优化,评论显示模板化。   更多亮点,可参考http://bbs.kesion.com/forumthread-1066568.html
dW 登录 | 注册 IBM developerWorks® 技术主题 软件下载 社区 技术讲座 搜索 developerWorks 打印本页面用电子邮件发送本页面新浪微博人人网腾讯微博搜狐微博网易微博DiggFacebookTwitterDeliciousLinked In developerWorks 中国技术主题Java technology文档库 在 Java 应用程序中访问 USB 设备 介绍 USB、jUSB 和 JSR-80 Java 平台一直都以其平台无关性自豪。虽然这种无关性有许多好处,但是它也使得编写与硬件交互的 Java 应用程序的过程变得相当复杂。在本文中,研究科学家蒋清野讨论了两个项目,它们通过提供使Java 应用程序可以使用 USB 设备的 API 而使这个过程变得更容易。虽然这两个项目仍然处于萌芽状态,但是它们都显示了良好的前景,并已经成为一些实用应用程序的基础。 1 评论: 蒋清野 (qjiang@ieee.org), 研究科学家, HappyFox Engineering Solutions 2003 年 10 月 25 日 + 内容 在 IBM Bluemix 云平台上开发并部署您的下一个应用。 现在就开始免费试用 通用串行总线(Universal Serial Bus USB)规范的第一个版本发表于 1996年 1月。因为它的低成本、高数据传输率、使用容易和灵活性,USB 在计算机行业里获得了广泛接受。今天,许多周边设备和装置都是通过 USB 接口连接到计算机上的。目前,大多数一般用途的操作系统都提供了对 USB 设备的支持,并且用 C 或者 C++ 可以相对容易地开发访问这些外设的应用程序。不过,Java 编程语言在设计上对硬件访问提供的支持很少,所以编写与 USB 设备交互的应用程序是相当困难的。 IBM 的 Dan Streetman 最早开始了在 Java 语言中提供对 USB 设备的访问的努力。2001年,他的项目通过 Java 规范请求(Java Specification Request,JSR)过程被接受为 Java 语言的候选扩展标准。这个项目现在称为 JSR-80 并且指定了官方包 javax.usb 。同时,在 2000年 6月,Mojo Jojo 和 David Brownell 在 SourceForge 开始了 jUSB 项目。这两个项目都开发出了 Linux 开发人员可以使用的包,尽管它们都还很不完善。这两个项目也都开始试图向其他操作系统上的 Java 应用程序提供对 USB 设备的访问,尽管它们都还没有开发出可以使用的包(参阅 参考资料 中有关本文中讨论的这两个项目及其他项目的资料)。 在本文中,将对 jUSB 和 JSR-80 项目作一个简要介绍,不过,我们首先要看一下 USB 协议的具体细节,这样您就可以理解这两个项目是如何与 USB 设备交互的。我们还将提供代码片段以展示如何用这两个项目的 API 访问 USB 设备。 USB 介绍 1994年,一个由四个行业伙伴(Compaq、Intel、Microsoft 和 NEC)组成的联盟开始制定 USB 协议。该协议最初的目的是将 PC 与电话相连并提供容易扩展和重新配置的 I/O 接口。1996年 1月,发表了 USB 规范的第一个版本,1998年 9月发表了后续版本(版本 1.1)。这个规范允许 127台设备同时连接到一起,总的通信带宽限制为 12 Mbps。后来,又有三个成员(Hewlett-Packard、Lucent 和 Philips)加入了这个联盟。2000年 4月,发表了 USB 规范的 2.0版本,它支持高达 480 Mbps 的传输率。今天,USB 在高速(视频、图像、储存)和全速(音频、宽带、麦克风)数据传输应用中起了关键作用。它还使各种低速设备(键盘、鼠标、游戏外设、虚拟现实外设)连接到 PC 上。 USB 协议有严格的层次结构。在所有 USB 系统中,只有一个主设备,到主计算机的的 USB 接口称为 主控器(host controller)。主控器有两个标准――开放主控器接口(Compaq 的 Open Host Controller Interface,OHCI)和通用主控器接口(Intel 的 Universal Host Controller Interface,UHCI)。这两个标准提供了同样的能力,并可用于所有的 USB 设备,UHCI 的硬件实现更简单一些,但是需要更复杂的设备驱动程序(因而 CPU 的负荷更大一些)。 USB 物理互连是分层的星形拓朴,最多有七层。一个 hub 是每个星形的中心,USB 主机被认为是 root hub。每一段连线都是 hub 与 USB 设备的点对点连接,后者可以是为系统提供更多附加点的另一个 hub,也可以是一个提供功能的某种设备。主机使用主/从协议与 USB 设备通信。这种方式解决了包冲突的问题,但是同时也阻止了附加的设备彼此建立直接通信。 所有传输的数据都是由主控器发起的。数据从主机流向设备称为 下行(downstream)或者 输出(out)传输,数据从设备流向主机称为 上 行(upstream)或者 输入(in)传输。数据传输发生在主机和 USB 设备上特定的 端点(endpoint) 之间,主机与端点之间的数据链接称为 管道(pipe)。 一个给定的 USB 设备可以有许多个端点,主机与设备之间数据管道的数量与该设备上端点的数量相同。一个管道可以是单向或者是双向的,一个管道中的数据流与所有其他管道中的数据流无关。 USB 网络中的通信可以使用下面四种数据传输类型中的任意一种: 控制传输:这些是一些短的数据包,用于设备控制和配置,特别是在设备附加到主机上时。 批量传输:这些是数量相对大的数据包。像扫描仪或者 SCSI 适配器这样的设备使用这种传输类型。 中断传输:这些是定期轮询的数据包。主控器会以特定的间隔自动发出一个中断。 等时传输:这些是实时的数据流,它们对带宽的要求高于可靠性要求。音频和视频设备一般使用这种传输类型。 像串行端口一样,计算机上每一个 USB 端口都由 USB 控制器指定了一个惟一的标识数字(端口 ID)。当 USB 设备附加到 USB 端口上时,就将这个 惟一端口 ID 分配给这台设备,并且 USB 控制器会读取 设备描述符。设备描述符包括适用于该设备的全局信息、以及设备的 配置信息。配置定义了一台 USB 设备的功能和 I/O 行为。一台 USB 设备可以有一个或者多个配置,这由它们相应的配置描述符所描述。每一个配置都有一个或者多个 接口,它可以视为一个物理通信渠道 ;每一个接口有零个或者多个端点,它可以是数据提供者或者数据消费者,或者同时具有这两种身份。接口由接口描述符描述,端点由端点描述符描述。并且一台 USB 设备可能还有字符串描述符以提供像厂商名、设备名或者序列号这样的附加信息。 正如您所看到的,像 USB 这样的协议为使用 Java 这种强调平台和硬件无关性的语言的开发人员提出了挑战。现在让我们看两个试图解决这个问题的项目。 回页首 jUSB API jUSB 项目是由 Mojo Jojo 和 David Brownell 于 2000年 6月创立的。其目标是提供一组免费的、在 Linux 平台上访问 USB 设备的 Java API。这个 API 是按照 Lesser GPL (LGPL)条款发表的,这意味着您可以在专有和免费软件项目中使用它。这个 API 提供了对多个物理 USB 设备的多线程访问,并支持本机和远程设备。具有多个接口的设备可以同时被多个应用程序(或者设备驱动程序)所访问,其中每一个应用程序(或者设备驱动程序)都占据一个不同的接口。该 API 支持控制传输、批量传输和中断传输,不支持等时传输,因为等时传输用于媒体数据(如音频和视频),JMF API 已经在其他标准设备驱动程序上对此提供了很好的支持(参阅 参考资料)。当前,该 API 可以在具有 Linux 2.4 核心或者以前的 2.2.18 核心的 GNU/Linux 版本上工作。因此可支持大多数最新的版本,例如,该 API 可以在没有任何补丁或者升级的 Red Hat 7.2 和 9.0 上工作。 jUSB API 包括以下包: usb.core : 这个包是 jUSB API 的核心部分。它使得 Java 应用程序可以从 USB 主机访问 USB 设备。 usb.linux : 这个包包含 usb.core.Host 对象的 Linux 实现、bootstrapping 支持和其他可以提升 Linux USB 支持的类。这个实现通过虚拟 USB 文件系统( usbdevfs )访问 USB 设备。 usb.windows : 这个包包含 usb.core.Host 对象的 Windows 实现、bootstrapping 支持和其他可以提升 Windows USB 支持的类。这个实现仍然处于非常初级的阶段。 usb.remote : 这个包是 usb.core API 的远程版本。它包括一个 RMI proxy 和一个 daemon 应用程序,它让 Java 应用程序可以访问远程计算机上的 USB 设备。 usb.util : 这个包提供了一些有用的实用程序,可以将 firmware下载到 USB 设备上、将 USB 系统的内容转储到 XML 中、以及将只有 bulk I/O 的 USB 设备工具转换成一个套接字(socket)。 usb.devices : 这个可选包收集了用 jUSB API 访问不同 USB 设备的 Java 代码,包括柯达数码相机和 Rio 500 MP3 播放器。这些 API 经过特别编写以简化访问特定 USB 设备的过程,并且不能用于访问其他设备。这些 API 是在 usb.core API 之上构建的,它们可以工作在所有支持 jUSB 的操作系统上。 usb.view : 这个可选包提供了基于 Swing 的 USB 树简单浏览器。它是一个展示 jUSB API 应用的很好的示例程序。 尽管 usb.core.Host 对象的实现对于不同的操作系统是不同的,但是 Java 程序员只需要理解 usb.core 包就可以用 jUSB API 开始应用程序的开发。表 1 列出了 usb.core 的接口和类,Java 程序员应该熟悉它们: 表 1. jUSB 中的接口和类 接口 说明 Bus 将一组 USB 设备连接到 Host 上 Host 表示具有一个或者多个 Bus 的 USB 控制器 类 说明 Configuration 提供对设备所支持的 USB 配置的访问,以及对与该配置关联的接口的访问 Descriptor 具有 USB 类型的描述符的实体的基类 Device 提供对 USB 设备的访问 DeviceDescriptor 提供对 USB 设备描述符的访问 EndPoint 提供对 USB 端点描述符的访问、在给定设备配置中构造设备数据输入或者输出 HostFactory 包含 bootstrapping 方法 Hub 提供对 USB hub 描述符以及一些 hub 操作的访问 Interface 描述一组端点,并与一个特定设备配置相关联 PortIdentifier 为 USB 设备提供稳定的字符串标识符,以便在操作和故障诊断时使用 用 jUSB API 访问一台 USB 设备的正常过程如下: 通过从 HostFactory 得到 USB Host 进行 Bootstrap。 从 Host 访问 USB Bus ,然后从这个 Bus 访问 USB root hub(即 USB Device )。 得到 hub 上可用的 USB 端口数量,遍历所有端口以找到正确的 Device 。 访问附加到特定端口上的 USB Device 。可以用一台 Device 的 PortIdentifier 直接从 Host 访问它,也可以通过从 root hub 开始遍历 USB Bus 找到它。 用 ControlMessage 与该 Device 直接交互,或者从该 Device 的当前 Configuration 中要求一个 Interface, 并与该 Interface 上可用的 Endpoint 进行 I/O 。 清单 1 展示了如何用 jUSB API 获得 USB 系统中的内容。这个程序编写为只是查看 root hub 上可用的 USB 设备,但是很容易将它改为遍历整个 USB 树。这里的逻辑对应于上述步骤 1 到步骤 4。 清单 1. 用 jUSB API 获得 USB 系统的内容 import usb.core.*; public class ListUSB { public static void main(String[] args) { try { // Bootstrap by getting the USB Host from the HostFactory. Host host = HostFactory.getHost(); // Obtain a list of the USB buses available on the Host. Bus[] bus = host.getBusses(); int total_bus = bus.length; // Traverse through all the USB buses. for (int i=0; i发表于 2001年 2月 14日。从那以后只提出了很少的改进,原因可能是 IBM 小组成功地成为了 Java 语言的候选扩展标准。不过,基于 jUSB 已经开发出一些第三方应用程序,包括 JPhoto 项目(这是一个用 jUSB 连接到数码照相机的应用程序)和 jSyncManager 项目(这是一个用 jUSB 与使用 Palm 操作系统的 PDA 同步的应用程序)。 回页首 JSR-80 API (javax.usb) 正如前面提到的,JSR-80 项目是由 IBM 的 Dan Streetman 于 1999年创立的。2001年,这个项目通过 Java 规范请求(JSR)过程被接受为 Java 语言的候选扩展标准。这个项目现在称为 JSR-80 并且被正式分派了 Java 包 javax.usb 。这个项目使用 Common Public License 的许可证形式,并通过 Java Community Process 进行开发。这个项目的目标是为 Java 平台开发一个 USB 接口,可以从任何 Java 应用程序中完全访问 USB 系统。JSR-80 API 支持 USB 规范所定义的全部四种传输类型。目前,该 API 的 Linux 实现可以在支持 2.4 核心的大多数最新 GNU/Linux 版本上工作,如 Red Hat 7.2 和 9.0。 JSR-80 项目包括三个包: javax-usb ( javax.usb API)、 javax-usb-ri (操作系统无关的基准实现的公共部分)以及 javax-usb-ri-linux (Linux 平台的基准实现,它将公共基准实现链接到 Linux USB 堆栈)。所有这三个部分都是构成 Linux 平台上 java.usb API 完整功能所必需的。在该项目的电子邮件列表中可以看到有人正在致力于将这个 API 移植到其他操作系统上(主要是 Microsoft Windows),但是还没有可以工作的版本发表。 尽管 JSR-80 API 的操作系统无关的实现在不同的操作系统上是不同的,但是 Java 程序员只需要理解 javax.usb 包就可以开始开发应用程序了。表 2 列出了 javax.usb 中的接口和类, Java 程序员应该熟悉它们: 表 2. JSR-80 API 中的接口和类 接口 说明 UsbConfiguration 表示 USB 设备的配置 UsbConfigurationDescriptor USB 配置描述符的接口 UsbDevice USB 设备的接口 UsbDeviceDescriptor USB 设备描述符的接口 UsbEndpoint USB 端点的接口 UsbEndpointDescriptor USB 端点描述符的接口 UsbHub USB hub 的接口 UsbInterface USB 接口的接口 UsbInterfaceDescriptor USB 接口描述符的接口 UsbPipe USB 管道的接口 UsbPort USB 端口的接口 UsbServices javax.usb 实现的接口 类 说明 UsbHostManager javax.usb 的入口点 用 JSR-80 API 访问 USB 设备的正常过程如下: 通过从 UsbHostManager 得到相应的 UsbServices 进行 Bootstrap。 通过 UsbServices 访问 root hub。在应用程序中 root hub 就是一个 UsbHub 。 获得连接到 root hub 的 UsbDevice s 清单。遍历所有低级 hub 以找到正确的 UsbDevice 。 用控制消息( UsbControlIrp )与 UsbDevice 直接交互,或者从 UsbDevice 的相应 UsbConfiguration 中要求一个 UsbInterface 并与该 UsbInterface 上可用的 UsbEndpoint 进行 I/O。 如果一个 UsbEndpoint 用于进行 I/O,那么打开与它关联的 UsbPipe 。通过这个 UsbPipe 可以同步或者异步提交上行数据(从 USB 设备到主计算机)和下行数据(从主计算机到 USB 设备)。 当应用程序不再需要访问该 UsbDevice 时,关闭这个 UsbPipe 并释放相应的 UsbInterface 。 在清单 3 中,我们用 JSR-80 API 获得 USB 系统的内容。这个程序递归地遍历 USB 系统上的所有 USB hub 并找出连接到主机计算机上的所有 USB 设备。这段代码对应于上述步骤 1 到步骤 3。 清单 3. 用 JSR-80 API 获得 USB 系统的内容 import javax.usb.*; import java.util.List; public class TraverseUSB { public static void main(String argv[]) { try { // Access the system USB services, and access to the root // hub. Then traverse through the root hub. UsbServices services = UsbHostManager.getUsbServices(); UsbHub rootHub = services.getRootUsbHub(); traverse(rootHub); } catch (Exception e) {} } public static void traverse(UsbDevice device) { if (device.isUsbHub()) { // This is a USB Hub, traverse through the hub. List attachedDevices = ((UsbHub) device).getAttachedUsbDevices(); for (int i=0; i发表了 javax.usb API、RI 和 RI 的 0.10.0 版本。看起来这一版本会提交给 JSR-80 委员会最终批准。预计正式成为 Java 语言的扩展标准后,其他操作系统上的实现会很快出现。Linux 开发者团体看来对 JSR-80 项目的兴趣比 jUSB 项目更大,使用 Linux 平台的 javax.usb API 的项目数量在不断地增加。 回页首 结束语 jUSB API 和 JSR-80 API 都为应用程序提供了从运行 Linux 操作系统的计算机中访问 USB 设备的能力。JSR-80 API 提供了比 jUSB API 更多的功能,很有可能成为 Java 语言的扩展标准。目前,只有 Linux 开发人员可以利用 jUSB 和 JSR-80 API 的功能。不过,有人正在积极地将这两种 API 移植到其他操作系统上。Java 开发人员应该在不久就可以在其他操作系统上访问 USB 设备。从现在起就熟悉这些 API,当这些项目可以在多个平台上发挥作用时,您就可以在自己的应用程序中加入 USB 功能了。 参考资料 您可以参阅本文在 developerWorks 全球站点上的 英文原文. 有关 USB 规范的更多信息,请访问 USB.org。 访问 SourceForge 上的 jUSB 项目主页。 有关 JSR-80 项目的更多信息,请访问其 主页或者其 在 Java Community Process 中的页面。 查找更多有关 jPhoto 项目的内容。 了解 jSyncManager项目。 有关 JMF 项目的更多内容,参阅 Eric Olson 的全面性的“ Java Media Framework 基础”教程( developerWorks,2002年 5月)。 可以在 developerWorks Java 技术专区 中找到关于 Java 编程各个方面的数百篇文章。 加入 developerWorks 中文社区,查看开发人员推动的博客、论坛、组和维基,并与其他 developerWorks 用户交流。 条评论 请 登录 或 注册 后发表评论。 添加评论: 注意:评论中不支持 HTML 语法 有新评论时提醒我剩余 1000 字符 共有评论 (1) 非常不错! 由 javaku 于 2012年05月28日发布 报告滥用 IBM PureSystems IBM PureSystems™ 系列解决方案是一个专家集成系统 developerWorks 学习路线图 通过学习路线图系统掌握软件开发技能 软件下载资源中心 软件下载、试用版及云计算 回页首 帮助 联系编辑 提交内容 订阅源 在线浏览每周时事通讯 新浪微博 报告滥用 使用条款 第三方提示 隐私条约 浏览辅助 IBM 教育学院教育培养计划 IBM 创业企业全球扶持计划 ISV 资源 (英语) dW 中国每周时事通讯 选择语言: English 中文 日本語

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧