Chinaunix

标题: 如何让qemu内的进程使用socket与宿主机进程通信? [打印本页]

作者: peimichael    时间: 2010-03-29 15:47
标题: 如何让qemu内的进程使用socket与宿主机进程通信?
开发过android应用程序的同学应该知道,google利用qemu做了一个软件运行环境,
只要在eclipse中写好了程序点一下运行就会启动一个qemu虚拟机,并将软件传进去运行。
宿主机上的eclipse程序是使用socket与虚拟机内的守护进程通信的。

现在我也需要做一个类似的东西,但是不知道宿主机进程应该如何用socket与虚拟机内进程通信。
用inet socket么?如何连接?对qemu不熟悉,不知道怎样比较好。
希望各位給指点一下
谢谢!

另外,google的那个调试环境是对qemu的代码进行了修改的,不知道有没有修改网络这一块。
作者: peimichael    时间: 2010-03-29 19:19
socket的办法没找到,但是想到可以用串口,将qemu的串口映射到宿主机的一个管道上,然后就可以通过这个管道进行通信了。不知道发送文件什么的方便不方便。
有其他建议欢迎提出
作者: linuxlixk    时间: 2010-03-29 20:45
{:3_190:}
作者: peidright    时间: 2010-03-30 10:00
google用 qemu的代码。肯定会开源的,。。自己看。。

不太明白你说的意思。如果是qemu启动嗯一台虚拟机,你是指qemu启动一台winxp? linux?之类的
操作系统么? 那么你直接在操作系统上启动一个服务端,不就行了。
作者: langue    时间: 2010-03-30 10:18
印象中在-net user模式下,10.0.2.2不就是主机?
桥接模式自己玩吧。
作者: peimichael    时间: 2010-03-30 14:08
回复 5# langue


    恩,我翻了下google那个sdk的源码,发现它在虚拟机内部跑得守护进程也是连接的10.0.2.2这个地址。我先试下看哈。谢谢版主了

    桥接这个东西毕竟稍微麻烦点,自己配还好,但是东西作出来给别人用的,还要用户去配桥接的话可能有点不太方便。。
    用最简单的办法实现目的最好,呵呵
作者: peimichael    时间: 2010-03-30 14:19
本帖最后由 peimichael 于 2010-03-30 14:21 编辑
google用 qemu的代码。肯定会开源的,。。自己看。。

不太明白你说的意思。如果是qemu启动嗯一台虚拟机, ...
peidright 发表于 2010-03-30 10:00



    虚拟机内部是linux,宿主机也是linux,如何让虚拟机内linux下的一个进程和宿主机下的一个进程方便的进行通信。
    我对虚拟机联网的方式不太清楚,我想的是,如果主机设置好了桥接的话,可以给虚拟机一个ip,直接用inet socket模仿网络通信就ok。
    但是如果宿主机没有设置桥接,我希望他们也能进行通信。这时候我想inet socket是不是就不行了?
    有没有什么方法让虚拟机即使没有配置好网络也能与宿主机的进程通信?
    可能我的想法有问题。

    我先试试看10.0.2.2这个ip吧。
    顺便看下google是怎么实现的




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2