作者aiweisen (全 民 号 召)
看板AndroidDev
标题[问题] upnp port
时间Mon Dec 22 14:55:58 2014
因为在写android
要能够从远端传档案给 位於内网的智慧型手机
目前我用的方式是upnp的 port mapping
但是被纠正说这个方法不好 因为说这样不就要每台手机自己去设定port number?
而且手动设定还会发生同网域的智慧型手机设定到相同的port number
他是说使用UPNP
port应该由upnp自动管理 而不是使用者要自己手动设定
就像同时有电风扇跟电冰箱接上upnp upnp会自动分配porte给这两台设备 供人连线
但我想UPNP自动管理PORT功能吗?
我对於upnp的问题是
device 向upnp注册服务 会有用到port吗?
不然就是 利用UPNP 进行远端连线内部网路(不使用port mapping)有办法达成吗?
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 140.138.150.27
※ 文章网址: http://webptt.com/cn.aspx?n=bbs/AndroidDev/M.1419231362.A.CA8.html
2F:→ stanwu: ps: upnp基本上只能过一层NAT 12/22 16:21
这句话不太懂
3F:→ stanwu: assign port用简单的演算法就可以不会重覆 12/22 16:22
所以目前只能用NAT的方式 解决外网传档案到内网的问题 是吧?
因为他说的方式 我一直很纠结到底有没有人不用NAT就能做到不同网域沟通
他说是既然UPNP中 CP可以去探索附近的设备 并控制她 中间是用port来区分
(UPNP自动分配port)例如:port 8534是冷气机、port 5369是电视
那麽一定可以透过port number 从外面的internet连到内网的冷气机或者是电视
所以遵循这样方式 外面也能透过upnp的方式传档案给内网的手机
但是我怎觉得这两件事是不同的事
因为我只是要两台不同网域的设备要沟通 而不是要控制
4F:→ stanwu: 不知道你用的封包是UDP还是TCP? 12/23 00:50
我是用socket 来做点对点传送 所以是TCP
5F:→ stanwu: 通常设备识别我自己做法是发广播封包设备会回传相关资讯回 12/23 00:51
6F:→ stanwu: 另外过NAT因为封包会重组所以处理上会比较麻烦所以要麻就 12/23 00:54
7F:→ stanwu: 是省事走云端架构,不然就是用super node之类的东西,还请 12/23 00:54
8F:→ stanwu: 高人指点 12/23 00:55
9F:→ stanwu: 不然就要多多google其他的技术只是要注要一下专利的问题 12/23 00:58
※ 编辑: aiweisen (140.138.238.132), 12/23/2014 09:43:48