我实际上正在做一个小项目,我应该用node.js,mongoDB,socket.io和canvas重新创建一个绘图多人游戏.
抽屉像魅力一样工作,服务器似乎也运作良好.我的注册/登录/会话和数据库启动和工作,唯一的问题是socket.io.当用户加入游戏室时,他可以看到抽屉和工具,但没有连接.为什么?浏览器找不到socket.io.js.
我做了什么 :
我验证它是否已安装,它是使用npm install socket.io.我在打开服务器时检查服务器是否正在启动它:在我的控制台中"socket.io started".我检查了我的HTML代码,这里是:
<script type="text/javascript" src="/socket.io/socket.io.js"></script>
Run Code Online (Sandbox Code Playgroud)
根据数十亿教程/开发站点/帮助主题,这应该是有效的.但事实并非如此.打开浏览器的控制台时,我得到了这个:
X GET http://localhost:1337/socket.io/socket.io.js NOT FOUND.
Run Code Online (Sandbox Code Playgroud)
我不知道问题出在哪里,我无法解决这个问题,这让我头疼不已.所以我在这里.
在此先感谢您的帮助!:)
我试图根据我从Node.js API获得的JSON响应,在命名的StackPanel中动态添加按钮.我将这个JSON数组解析为一个对象数组,该对象具有将所有属性放在适当位置的类.然后,在foreach中,我想使用我放在对象数组中的信息来构建按钮.请注意,对象数组包含良好的属性.如果我试着简单地MessageBox.Show(item.name)在我的foreach中做一个,它将显示我所有对象的所有名称.没有值为null,我检查了三次.
以下是我创建按钮的方法:
ItemList[] items = JsonConvert.DeserializeObject<ItemList[]>(jsonString);
Dispatcher.BeginInvoke(new Action(() =>
{
foreach (ItemList item in items)
{
Button ItemName = new Button();
//defining properties of the button, like width, etc..
ItemName.Content = item.title;
ItemName.Name = item.id;
//Will add Click event.
ItemPanel.Children.Add(ItemName);
}
}));
Run Code Online (Sandbox Code Playgroud)
在尝试时,我得到一个TargetInvocationException:
[System.Reflection.TargetInvocationException {System.Reflection.TargetInvocationException:调用目标抛出了异常.---> System.NullReferenceException:对象引用未设置为对象的实例.
这是为什么 ?神秘.我试着创建按钮对象并将其添加到我的StackPanel中而不做任何其他事情,并且错误是相同的.
我究竟做错了什么 ?如何摆脱这个?我已经在另一个应用程序中创建了这样的动态元素,这样做有效.
函数创建按钮在函数末尾调用,该函数使用HTTP请求从api获取JSON.在OnNavigatedTo方法中调用那个HTTP请求函数(是的,这很奇怪,但这是我发现在到达页面时自动调用函数的唯一方法,使用来自OnNavigatedTo方法的变量.我在其他页面上做过,而且它是工作(虽然它不是创建按钮,只是修改现有的文本块).
这是完整的错误:
System.Reflection.TargetInvocationException:
Exception has been thrown by the target of an invocation. --->
System.NullReferenceException: Object reference not set to an instance of an object.
at CubbyHole_Mobile.BrowseFiles.<>c__DisplayClass1.b__0() …Run Code Online (Sandbox Code Playgroud) c# nullreferenceexception invocationtargetexception windows-phone-8