0

我正在做一个学校项目。目标是通过 TCP 套接字将 Windows Phone 8 (WP8) 与服务器(使用基于 express.js 的sails.js 框架的node.js)链接起来。

我为 C# 部分 (WP8) 找到了一个很棒的教程,我正在使用 Windows 8 虚拟机,但这不是问题。(只是放慢无聊-_-)

根据教程,我“实现”了 WP 部分。我还使用 socket.io 实现了 node.js 服务器。

这里是 WP8 教程: http: //msdn.microsoft.com/en-us/library/windowsphone/develop/hh202858 (v=vs.105).aspx

这是我的 WP8 应用程序(8.0):(基于教程但自定义)

SocketClient:http ://pastebin.com/8ncad4EV

MainPage.cs: http: //pastebin.com/5VAU96JV

Mainpage.xaml.cs:http://pastebin.com/hhvmQvPS

这里是应用+node.js服务端源码的截图:WP8 和节点服务器

在左侧屏幕上,您可以看到创建“侦听器”的服务器端代码。右边是带有 WP8 和模拟器的虚拟机。如您所见,我可以使用套接字连接到我的服务器。但我没有得到任何回应。

关于服务器日志,当我运行 WP8 应用程序时没有创建日志,它写的是连接成功但服务器上没有关于它的日志。

您可以直接在此处查看网站:137.135.176.144:1337,如果需要,您可以使用 javascript 控制台进行运行测试,例如:

socket.emit('disconnection', function(res){console.log(res);});

您将看到来自服务器的关于您已断开连接的响应(这只是一个日志,不是真的),我将在我自己的服务器端控制台上得到它。

但是当我尝试连接 WP8 或 netduino(因为我必须使用带有 node.js 的套接字连接 netuido 和 WP8)时,情况是一样的。连接过程中没有错误但没有响应。

所以,我在这里是因为我对 node.js 不熟悉,我尝试了很多东西,但还是一样。你可以帮帮我吗?谢谢你。


我正在尝试别的东西。另一个代码客户端(WP8)。因为我正在运行同步请求,所以我现在尝试异步运行,因为 node.js 服务器是异步的:

源代码

您可以创建一个新项目,添加此类并在“main”函数中调用它。

输出

Application proccessing...
Application started
Operation processing: Connect
Connect: Successful connection etablished to Unspecified/137.135.176.144:1337
Operation processing: Send
Operation processing: Receive
Data received: connection (10)

收到的日期等于我自己发送的数据(您可以在第 70 行看到它)。我没有从服务器获取数据(或者我做错了),并且在服务器控制台上看不到任何连接。

如您所见,我不确定调用正确的 URL,但如果我在 IP 地址前写http://,程序会抛出 SocketException:“No such host is known”

An exception of type 'System.IO.FileNotFoundException' occurred in mscorlib.ni.dll and wasn't handled before a managed/native boundary
An exception of type 'System.Net.Sockets.SocketException' occurred in System.Net.ni.dll and wasn't handled before a managed/native boundary
An exception of type 'System.Net.Sockets.SocketException' occurred in System.Net.ni.dll and wasn't handled before a managed/native boundary
A first chance exception of type 'System.Net.Sockets.SocketException' occurred in SocketsTest.DLL

我不明白为什么它会抛出错误http://。源代码服务器端与以前相同。

你可以帮帮我吗?我很迷失在这里。谢谢你。

4

0 回答 0