【发布时间】:2014-02-06 17:49:47
【问题描述】:
我是 android 新手,我想使用套接字编程创建一个基于 WiFi 的聊天引擎。我能够使用this 检索连接到 WiFi 的设备列表 项目,现在我想在我的应用程序上创建一个服务器套接字来监听某个端口(比如 6066)上的连接。
我担心的是,与我的应用一起部署的 WiFi 网络上的所有设备都会在同一个端口上启动它们的服务(比如有 192.168.1.100:6066 和 192.168.1.101:606)。当我想连接6066端口的设备时,它会接受吗?
我考虑过的另一种方法是在 serversocket 中将端口指定为 0。它将分配一个临时端口,但是客户端如何知道分配了哪个端口来请求连接?
【问题讨论】:
-
不同主机上的端口不会混淆——只要或者 IP地址或者端口是唯一的,你就没有问题因为IP和端口的组合是唯一的。但是,给定设备上的某些东西可能已经在使用您想要的端口。最常见的是,这是您自己项目的另一个版本,但也可能是其他人。另一种可能性是“刚刚使用”端口而没有允许立即重新使用的标志。
标签: android sockets port android-wifi serversocket