使用TCP将WP8(VM)与node.js服务器连接

时间:2013-09-30 21:15:04

标签: node.js sockets windows-phone-8 sails.js netduino

我正在做一个学校项目。目标是通过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

这里是application + node.js服务器端源代码的屏幕截图:WP8 and node server

在左侧屏幕上,您可以看到创建“侦听器”的服务器端代码。在右边的VM与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服务器是asynchrone:

Source code

您可以创建一个新项目,添加此类并在“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:“没有这样的主人已知“

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:// 中引发错误。 源代码服务器端与之前相同。

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

0 个答案:

没有答案