static void StartSuperWebSocketByProgramming() { socketServer = new WebSocketServer(); //设置websocket服务器 if (!socketServer.Setup(20123)) //设置监听端口号 { using (System.IO.StreamWriter sw = new System.IO.StreamWriter("C:\\log.txt", true)) { sw.WriteLine(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss ") + "设置WebSocketServer监听服务器失败"); } return; } socketServer.NewMessageReceived += new SessionHandler<WebSocketSession, string>(socketServer_NewMessageReceived); socketServer.NewSessionConnected += new SessionHandler<WebSocketSession>(socketServer_NewSessionConnected); socketServer.SessionClosed += new SessionHandler<WebSocketSession, CloseReason>(socketServer_SessionClosed); //启动websocket服务器 if (!socketServer.Start()) { using (System.IO.StreamWriter sw = new System.IO.StreamWriter("C:\\log.txt", true)) { sw.WriteLine(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss ") + "启动服务器失败"); } return; } using (System.IO.StreamWriter sw = new System.IO.StreamWriter("C:\\log.txt", true)) { sw.WriteLine(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss ") + "启动服务器已成功启动2222222"); } //var ts = new TimeSpan(0, 0, 8); //m_SocketPushTimer = new Timer(SendRealBusDataCallback, new object(), ts, ts); string str; while (true) { try { qdRealBusDataClassesDataContext datacontext = new qdRealBusDataClassesDataContext(); var data = (from a in datacontext.RealBus //where a.actdatetime > DateTime.Now.AddMinutes(-5) group a by a.busselfid into b select new { id = b.Key, pl = (from c in b orderby c.actdatetime descending select new { lng = c.lng, lat = c.lat, time = string.Format("{0:yyyy-MM-dd HH:mm:ss}", c.actdatetime), linename = c.busLineName, stop = c.BusStopsName, num = c.stationnum, name = c.stationname }).Take(1) }); JavaScriptSerializer serializer = new JavaScriptSerializer(); str = serializer.Serialize(data); if (socketServer.GetAllSessions().Count() > 0 && str != null) { SendToAll(str); } Thread.Sleep(120000); } catch (Exception ex) { Console.WriteLine("异常错误:" + ex.Message); using (System.IO.StreamWriter sw = new System.IO.StreamWriter("C:\\log.txt", true)) { sw.WriteLine(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss 异常错误:") + ex.Message); } } finally { } } }
static void StartSuperWebSocketByProgramming() { socketServer = new WebSocketServer(); //设置websocket服务器 if (!socketServer.Setup(20123)) //设置监听端口号 { using (System.IO.StreamWriter sw = new System.IO.StreamWriter("C:\\log.txt", true)) { sw.WriteLine(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss ") + "设置WebSocketServer监听服务器失败"); } return; } socketServer.NewMessageReceived += new SessionHandler <WebSocketSession, string>(socketServer_NewMessageReceived); socketServer.NewSessionConnected += new SessionHandler <WebSocketSession>(socketServer_NewSessionConnected); socketServer.SessionClosed += new SessionHandler <WebSocketSession, CloseReason>(socketServer_SessionClosed); //启动websocket服务器 if (!socketServer.Start()) { using (System.IO.StreamWriter sw = new System.IO.StreamWriter("C:\\log.txt", true)) { sw.WriteLine(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss ") + "启动服务器失败"); } return; } using (System.IO.StreamWriter sw = new System.IO.StreamWriter("C:\\log.txt", true)) { sw.WriteLine(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss ") + "启动服务器已成功启动2222222"); } //var ts = new TimeSpan(0, 0, 8); //m_SocketPushTimer = new Timer(SendRealBusDataCallback, new object(), ts, ts); string str; while (true) { try { qdRealBusDataClassesDataContext datacontext = new qdRealBusDataClassesDataContext(); var data = (from a in datacontext.RealBus //where a.actdatetime > DateTime.Now.AddMinutes(-5) group a by a.busselfid into b select new { id = b.Key, pl = (from c in b orderby c.actdatetime descending select new { lng = c.lng, lat = c.lat, time = string.Format("{0:yyyy-MM-dd HH:mm:ss}", c.actdatetime), linename = c.busLineName, stop = c.BusStopsName, num = c.stationnum, name = c.stationname }).Take(1) }); JavaScriptSerializer serializer = new JavaScriptSerializer(); str = serializer.Serialize(data); if (socketServer.GetAllSessions().Count() > 0 && str != null) { SendToAll(str); } Thread.Sleep(120000); } catch (Exception ex) { Console.WriteLine("异常错误:" + ex.Message); using (System.IO.StreamWriter sw = new System.IO.StreamWriter("C:\\log.txt", true)) { sw.WriteLine(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss 异常错误:") + ex.Message); } } finally { } } }