【发布时间】:2013-08-23 19:32:26
【问题描述】:
我检查了发现问题是分配给connectionEndpointPair的ip地址携带的是wi-fi直接网络适配器的IP,我不知道如何打开该特定ip上的端口,ip与我从我的电脑 ping 它时不同,当我使用 wi-fi ip 时,windows 正在侦听端口 5009 并建立了连接,但是当我使用 wi-fi 直接 ip 地址时,我遇到了问题
设备和 windows 8.1 应用程序之间的 wi-fi 直接连接正常,然后我正在等待我的套接字连接但它没有发生可能是什么问题?
我在 Visual Studio 上遇到错误:
由于目标机器主动拒绝,无法建立连接。 (HRESULT 异常:0x8007274D)
在 Windows 端,我正在使用此代码:
String deviceSelector = WiFiDirectDevice.GetDeviceSelector();
DeviceInformationCollection deviceCollection = await DeviceInformation.FindAllAsync(deviceSelector);
if(deviceCollection.Count > 0)
{
try
{
wfdDevice = await WiFiDirectDevice.FromIdAsync(deviceCollection[0].Id);
wfdDevice.ConnectionStatusChanged +=ConnectionStatusChangedNotficationHandler;
var endpointPairs = wfdDevice.GetConnectionEndpointPairs();
EndpointPair connectionEndpointPair = endpointPairs[0];
try
{
connectionEndpointPair.RemoteServiceName = "5009";
StreamSocket socket = new StreamSocket();
await socket.ConnectAsync(connectionEndpointPair);
string s = "hello";
}catch (Exception err)
{
string s = err.Message;
s = err.StackTrace;
}
}
catch (Exception err)
{
string error = err.Message;
}
在 android 端,我正在使用此代码:
private void initiateClientSocket(String hostAddress) {
int timeout = 10000;
int port = 5009;
InetSocketAddress socketAddress
= new InetSocketAddress(hostAddress, port);
try {
Socket socket = new Socket();
socket.bind(null);
socket.connect(socketAddress, timeout);
} catch (IOException e) {
Log.e(TAG, "IO Exception.", e);
}
// TODO Start Receiving Messages
}
从我得到的 android 端:
java.net.UnknownHostException: Host is unresolved: my ip
请大家帮忙
谢谢:)
【问题讨论】:
-
你是否让它与 wifi direct 一起工作?我想知道我是否可以完成这项工作......
标签: c# java android sockets wifi-direct