我使用XSockes创建了一个asp.net Messenger WebProject。 当运行此项目onopen和onconnected事件时,它会发生。 但是发送消息不起作用。
我的错是什么?
启动代码:
[assembly: OwinStartupAttribute(typeof(XsocketTest1.Startup))]
public class Startup
{
public void Configuration(IAppBuilder app)
{
app.UseXSockets(true);
}
}
入门代码:
[assembly: PreApplicationStartMethod(typeof(XsocketTest1.Starter), "Start")]
namespace XsocketTest1
{
public class Starter
{
private static IXSocketServerContainer container;
public static void Start()
{
container = XSockets.Plugin.Framework.Composable.GetExport<IXSocketServerContainer>();
container.Start();
}
}
}
控制器代码:
public class Chat : XSocketController
{
public string UserName { get; set; }
public void ChatMessage(string message)
{
this.InvokeToAll(message, "chatmessage");
}
}
和JavaScript代码:
$(function () {
try{
var controler = new XSockets.WebSocket('ws://localhost:34853', ['chat']);
var conn = controler.controller('chat');
conn.onopen = function () {
}
conn.onconnected = function () {
console.log('socket connected');
conn.controller('chat').chatmessage = function (data) {
console.log(data.Text);
};
};
}
catch(e)
{
alert(e);
}
$(document).ready(function () {
$("#btnSend").click(function () {
try{
conn.invoke('chatmessage', {
Text: 'Calling chatmessage on server and passing a part of the complex object'
});
}
catch(e)
{ alert(e);}
});
});
});
答案 0 :(得分:0)
代码看起来很奇怪...... 看看这里:http://xsockets.net/docs/4/installing-xsocketsnet 并且您将看到您有重复的启动类...如果您使用owin和win8 +(在文档中也提到),您只需要“usexsockets”部分。
您的JavaScript可能有效,但非常令人困惑,因为您似乎误解了xsockets中连接和控制器之间的区别。