C#与nodejs socketio 互传


实现nodejs服务器 与C# form 间socket 响应
资源截图
代码片段和文件信息
using System;
using System.Collections.Concurrent;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using System.Net;
using System.Threading;
using System.Threading.Tasks;
using Newtonsoft.Json;
using SocketIOClient.Eventing;
using SocketIOClient.Messages;
using WebSocket4Net;

namespace SocketIOClient
{
/// 
/// Class to emulate socket.io javascript client capabilities for .net classes
/// 

/// Connection for wss or https urls  
public class Client : IDisposable SocketIOClient.IClient
{
private Timer socketHeartBeatTimer; // HeartBeat timer 
private Task dequeuOutBoundMsgTask;
private BlockingCollection outboundQueue;
private int retryConnectionCount = 0;
private int retryConnectionAttempts = 3;
private readonly static object padLock = new object(); // allow one connection attempt at a time

/// 
/// Uri of Websocket server
/// 

protected Uri uri;
/// 
/// Underlying WebSocket implementation
/// 

protected WebSocket wsClient;
/// 
/// RegistrationManager for dynamic events
/// 

protected RegistrationManager registrationManager;  // allow registration of dynamic events (event names) for client actions
/// 
/// By Default use WebSocketVersion.Rfc6455
/// 

protected WebSocketVersion socketVersion = WebSocketVersion.Rfc6455;

// Events
/// 
/// Opened event comes from the underlying websocket client connection being opened.  This is not the same as socket.io returning the ‘connect‘ event
/// 

public event EventHandler Opened;
public event EventHandler Message;
public event EventHandler ConnectionRetryAttempt;
public event EventHandler HeartBeatTimerEvent;
/// 
/// The underlying websocket connection has closed (unexpectedly)
/// The Socket.IO service may have closed the connection due to a heartbeat timeout or the connection was just broken
/// Call the client.Connect() method to re-establish the connection
/// 

public event EventHandler SocketConnectionClosed;
public event EventHandler Error;

/// 
/// ResetEvent for Outbound MessageQueue Empty Event - all pending messages have been sent
/// 

public ManualResetEvent MessageQueueEmptyEvent = new ManualResetEvent(true);

/// 
/// Connection Open Event
/// 

public ManualResetEvent ConnectionOpenEvent = new ManualResetEvent(false);


/// 
/// Number of reconnection attempts before raising SocketConnectionClosed event - (default = 3)
/// 

public int RetryConnectionAttempts
{
get { return this.retryConnectionAttempts; }
set { this.retryConnectionAttempts = value; }
}

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件      35840  2014-03-12 14:08  socketio4netindebugSocketIOClient.dll

     文件       1266  2014-03-12 14:08  socketio4netindebugSocketIOClient.dll.CodeAnalysisLog.xml

     文件          0  2014-03-12 14:08  socketio4netindebugSocketIOClient.dll.lastcodeanalysissucceeded

     文件      87552  2014-03-12 14:08  socketio4netindebugSocketIOClient.pdb

     文件      14136  2014-03-12 14:08  socketio4netindebugSocketIOClient.xml

     文件     101888  2012-06-18 10:42  socketio4netindebugWebSocket4Net.dll

     文件     142848  2012-06-18 10:41  socketio4netindebugWebSocket4Net.pdb

     文件        278  2014-03-03 14:15  socketio4netNodeJS
ode_modules.binexpress

     文件        139  2014-03-03 14:15  socketio4netNodeJS
ode_modules.binexpress.cmd

     文件          0  2014-03-03 14:14  socketio4netNodeJS
ode_modulesejs.gitmodules

     文件         62  2014-03-03 14:14  socketio4netNodeJS
ode_modulesejs.npmignore

     文件         69  2014-03-03 14:14  socketio4netNodeJS
ode_modulesejs.travis.yml

     文件        326  2014-03-03 14:14  socketio4netNodeJS
ode_modulesejsenchmark.js

     文件      13367  2014-03-03 14:14  socketio4netNodeJS
ode_modulesejsejs.js

     文件       7635  2014-03-03 14:14  socketio4netNodeJS
ode_modulesejsejs.min.js

     文件        588  2014-03-03 14:14  socketio4netNodeJS
ode_modulesejsexamplesclient.html

     文件        183  2014-03-03 14:14  socketio4netNodeJS
ode_modulesejsexamplesfunctions.ejs

     文件        433  2014-03-03 14:14  socketio4netNodeJS
ode_modulesejsexamplesfunctions.js

     文件        152  2014-03-03 14:14  socketio4netNodeJS
ode_modulesejsexampleslist.ejs

     文件        224  2014-03-03 14:14  socketio4netNodeJS
ode_modulesejsexampleslist.js

     文件       2696  2014-03-03 14:14  socketio4netNodeJS
ode_modulesejsHistory.md

     文件         39  2014-03-03 14:14  socketio4netNodeJS
ode_modulesejsindex.js

     文件       8381  2014-03-03 14:14  socketio4netNodeJS
ode_modulesejslibejs.js

     文件       3101  2014-03-03 14:14  socketio4netNodeJS
ode_modulesejslibfilters.js

     文件        419  2014-03-03 14:14  socketio4netNodeJS
ode_modulesejslibutils.js

     文件        337  2014-03-03 14:14  socketio4netNodeJS
ode_modulesejsMakefile

     文件       6102  2014-03-03 14:14  socketio4netNodeJS
ode_modulesejspackage.json

     文件       5045  2014-03-03 14:14  socketio4netNodeJS
ode_modulesejsReadme.md

     文件       3822  2014-03-03 14:14  socketio4netNodeJS
ode_modulesejssupportcompile.js

     文件       8987  2014-03-03 14:14  socketio4netNodeJS
ode_modulesejs estejs.js

............此处省略1310个文件信息

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。

发表评论

评论列表(条)