java - 打开 tcp InetSocketAddress 到应用程序路径(不仅仅是主机 + 端口)

标签 java android sockets networking tcp

我正在尝试连接到 Android 中的 TCP 套接字。

我知道套接字服务可以正常工作,因为我可以在浏览器(在 JavaScript 中)中连接它并与之交互,如下所示:

var ws = window.WebSocket || window.MozWebSocket;  
window.ws = new wsImpl('ws://foo.bar.com:8282/MySocketService', 'my-protocol');  
...

所以,在我的 Android 应用程序中:

连接成功,但我从未收到来自它的消息:

SocketAddress sa = new InetSocketAddress("foo.bar.com", 8282);

连接失败:

SocketAddress sa = new InetSocketAddress("foo.bar.com/MySocketService", 8282);

我收到如下错误:

java.net.UnknownHostException: Host is unresolved: foo.bar.com/MySocketService:8282

有什么方法可以指示 TCP 服务的应用程序路径吗?

最佳答案

TCP 端点只是 IP 地址和端口号。您所讨论的内容是由 TCP 之上的上层协议(protocol)(例如 HTTP)处理的,因此您需要查看其他实用程序,例如 java.net.URL .

关于java - 打开 tcp InetSocketAddress 到应用程序路径(不仅仅是主机 + 端口),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12353850/

相关文章:

android - 有没有更好的方法来进行这种布局?也许使用约束布局?

android - 将 Disqus 集成到 Android 应用程序

android - 在android中通过url使用imageview

c++ - C/C++ 套接字和非阻塞 recv()

java - GlassFish 应用程序客户端容器

java - 如何获取 Android EditText 组件的整数值?

java - 在 Android 上使用 opengles 播放 YUV 视频后 Activity 困惑

c++ - 使用 socket recv() 损坏二进制 JPEG 文件

java - 具有用户名和登录名的用户 session

java - 在Android中编译并执行任意Java字符串