通过USB进行TCP通信(可能需要开发驱动,高手们都进来讨论一下吧)

bestajian 2009-06-02 05:36:50
目前公司开发的设备,设想:该设备通过usb线连接到PC,然后双方可以进行tcp通信(意思就是大家都是用socket来收发数据了,usb线就相当于网线了)

不知道有没有人做过这样的设计。

我的理解:应该要做usb的驱动,类似于虚拟网卡那种。但我不知道该如何去做这个驱动。如果有人做过,请指点。

又或者有其他更好的办法。

进来了的都发表一下见解啊。

期待看到好的解决方案......
...全文
1149 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
miricy 2010-07-30
  • 打赏
  • 举报
回复
微软的 activesync 就是这种模式,usb,蓝牙都可以通过tcp访问,
基本上电脑端和终端设备端都要开发程序来实现
lishu2002 2009-06-11
  • 打赏
  • 举报
回复
可以参考usb转串口的源代码,将接收到的数据发送到网络端
hendriclee 2009-06-10
  • 打赏
  • 举报
回复
关注
用户 昵称 2009-06-10
  • 打赏
  • 举报
回复
好想法,俺们当年在网线上走串口协议。
用户 昵称 2009-06-10
  • 打赏
  • 举报
回复
好想法,俺们当年在网线上走串口协议。
会思考的草 2009-06-07
  • 打赏
  • 举报
回复
不是有现成的USB转网口的转接器么
Channels_net 2009-06-07
  • 打赏
  • 举报
回复
晕,第一次听说,USB 协议 和 网络协议根本不是一回事啊,
风云dg 2009-06-07
  • 打赏
  • 举报
回复
bestajian 2009-06-03
  • 打赏
  • 举报
回复
bestajian 2009-06-03
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 wangbinds 的回复:]
听说过usb转串口的驱动,应该差不多,楼主可以参考。
[/Quote]

跟usb转串口可能还不太一样,串口是端对端的通信,usb是主从式的通信,所以转换起来原理应该是不太一样的。(从网上看到的,不考究对不对)

自己再顶一下。
凤朝凰 2009-06-03
  • 打赏
  • 举报
回复
听说过usb转串口的驱动,应该差不多,楼主可以参考。
bestajian 2009-06-02
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 hnb98075 的回复:]
怎么有这想法?为什么不直接用net通讯或者直接读USB通讯?这么麻烦干什么?
[/Quote]

这做法是有点怪,当确实是需要这样做,类似的情况相信大家也碰到不少。
哪位大侠发表一下高见。。。
hnb98075 2009-06-02
  • 打赏
  • 举报
回复
怎么有这想法?为什么不直接用net通讯或者直接读USB通讯?这么麻烦干什么?
我认为,在学习中有一件非常重要的事情,那就是梳理知识体系,所以在进入操作系统课程的学习之前,我想先给你一份这门课程的知识体系(也是一份学习路径),然后再介绍一套我自己梳理知识体系的方法,帮助你更轻松地学好这门课。课程内容&知识体系我们先来看下这门课程的知识体系结构,分为 8 个模块,45个课时,具体如下。模块一:(前置知识)计算机组成原理。 如果你对计算机的组成原理中涉及的比如内存、寄存器工作原理、CPU 指令、总线都是怎么工作的这些基本问题,没有搞清楚,大概率会影响你后续对操作系统的学习。因此,在课程开始前,我先来给你一份操作系统的前置知识,帮助你更好地理解后续内容。模块二:(初探)Linux 指令入门。 这个模块将介绍一些实用的知识,带你入门 Bash 编程,并通过日志分析、性能监控、集群管理等实战场景深入学习 Linux 指令。这些对于日常开发和运维人员来说,都会非常有帮助。模块三:(总纲)操作系统概述。 这部分帮助你了解操作系统的整体设计,介绍内核、用户空间等基本概念,还会介绍操作系统的分类,以及对比一下市面上的操作系统(如 Windows、Linux、Unix、Android 等),让你对整个操作系统生态能有一个整体的认识。总的来说,模块四 ~ 模块七是我们这门课程的核心内容,也是面试的重点考区。设置这块内容的目的是借助操作系统的知识,帮你思考如何解决实战问题,比如我们反复提及的高并发、数据一致性、大数据存储和网络问题等。模块四:(面试重点)进程和线程。 我会针对大家在面试和工作中最常见的并发和数据同步问题,从进程原理、多线程编程、互斥和乐观锁、死锁和饥饿、调度算法、进程通信等多个方面,同时结合一些语言特性(比如 Java 的语言特性)讲解原理、思考方案及对策。模块五:(面试重点)内存管理。 这部分我们是从页表和 MMU、虚拟化、内存的分配和回收、缓存置换、逃逸分析、三色算法、生代算法等方面入手,帮助你了解内存的工作原理,应对高并发带来的内存使用问题。模块六:(面试重点)文件系统。 这部分内容我们将从两个方面入手,一方面是通过学习 Linux 的文件目录结构,了解 Linux 下不同的文件目录的功能和作用,帮助你把 Linux 用好;另一个方面,从文件系统的底层设计入手,帮助你了解文件系统的设计思路和原理,并且通过讲解数据库的文件系统,比如 MySQL 的 InnoDb、B+Tree 以及 Hadoop 的 HDFS,帮你把文件系统的知识应用到处理海量数据的领域。模块七:(面试重点)网络与安全。 这部分讲解面试中常见的互联网协议群、TCP 和 UDP 协议、Linux 的 I/O 模型、公私钥加密体系,以及一些最基本的计算机网络安全知识,帮助你理解操作系统和网络之间的交互,从而更好地利用操作系统知识设计业务系统的网络架构。模块八:(知识拓展)虚拟化和其他。 最后这部分,我们将从操作系统的角度学习容器化应用(比如 Kubernetes 和 Docker),还会深入讨论 Linux 架构及商业操作系统。这些知识一方面能够帮你和面试官产生更多的共鸣,另一方面还能帮你开拓视野、打开思路,看到未来的发展趋势。寄语最后,希望今天的课程和学习方法可以帮助到你;也希望你平时遇到未知的问题,尝试使用我今天介绍的方法,学会构建自己的知识体系,提高自己的学商。你可以在留言区给自己立下 Flag,比如给自己定一个具体的目标,或者是打卡你的学习天数,总之希望你不要一看而过,留下你的思考。经过长期的积累,相信你会得到意想不到的收获。

2,641

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 硬件/系统
社区管理员
  • 硬件/系统社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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