【发布时间】:2016-10-20 07:07:30
【问题描述】:
我有一个PCan wireless device,可以扮演他们称之为“微接入点”的角色。这个概念是让它路由器和其他设备连接到它。通过这个连接,我可以使用 TCP 或 UDP 发送/接收 CAN 帧。主要目标是连接到这个 Wifi 并打开一个套接字并在 android M 中发送/接收 TPC/UPD 帧。
我编写了一个 android 活动,它搜索所有可用的 Wifi 并通过一个我可以成功连接的按钮连接到它。
连接后,我尝试打开一个套接字,但失败了。我也尝试了不同的超时:
button2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
new Thread(new Runnable() {
@Override
public void run() {
for (int i = 0; i <= 255; ++i) { // I wrote this for loop to check all possibilities!
String ip = "192.168.1." + i;
try {
Log.i(TAG, "Try ip: " + ip);
Socket socket = new Socket();
socket.connect(new InetSocketAddress(ip, 50000), 100);
Log.e(TAG, "Connected!");
} catch (IOException e) {
Log.e(TAG, "Exception is catched!");
}
}
}
}).start();
}
});
谁能告诉我如何打开一个套接字? 以下是设备上的信息:
ip:192.168.1.10
端口:50000
网关:192.168.1.199
更新:
我不知道我是否以正确的方式来克服这个问题。简短地说:我想连接到这个无线设备并发送/接收 tcp 和 UPD 帧。不幸的是,我对网络的了解非常有限。
【问题讨论】:
-
这是套接字问题还是“如何连接到 wifi 网络”问题?无论哪种方式,似乎都有很多不相关的信息。如果您不在网络上,那么如何制作套接字并不重要。如果你在网络上,那么在制作套接字时是否是 wifi 网络并不重要。
-
@xaxxon 我是没有网络经验的 C++ 人。所以也许这个问题是模棱两可的。问题是如何在此设备上发送/接收数据?我在正确的道路上吗?
-
可能吗?但是你真的在这里提出了两个问题。一个是“我如何连接到 wifi 网络”,另一个是“我如何制作套接字”。请将帖子限制为一个问题(如果需要,您可以再发一个帖子)
-
我不知道 PCan 无线设备会这样做,但 TCP/IP 连接是通过三向握手程序建立的。您需要检查的内容 1. 您的 android 设备和 PCan 无线设备在同一网络上。 2. PCan 无线设备充当 tcp/ip 服务器 3.PCan 无线设备在哪个端口监听传入的连接请求。注意:PCan 无线设备可以通过 Internet 访问,然后不需要第一步,只需您的设备即可访问 Internet。
-
如果您想以编程方式连接您的设备某个特定的 WiFi 网络,那么您应该检查 WifiManager 和这些方法,尤其是 1. addNetwork 2. startScan 3. getScanResults
标签: java android sockets tcp can-bus