• 大小: 15.18MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-07-26
  • 语言: C#
  • 标签: C#  socketio  nodejs  

资源简介

实现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  socketio4net\bin\debug\SocketIOClient.dll

     文件       1266  2014-03-12 14:08  socketio4net\bin\debug\SocketIOClient.dll.CodeAnalysisLog.xml

     文件          0  2014-03-12 14:08  socketio4net\bin\debug\SocketIOClient.dll.lastcodeanalysissucceeded

     文件      87552  2014-03-12 14:08  socketio4net\bin\debug\SocketIOClient.pdb

     文件      14136  2014-03-12 14:08  socketio4net\bin\debug\SocketIOClient.xml

     文件     101888  2012-06-18 10:42  socketio4net\bin\debug\WebSocket4Net.dll

     文件     142848  2012-06-18 10:41  socketio4net\bin\debug\WebSocket4Net.pdb

     文件        278  2014-03-03 14:15  socketio4net\NodeJS\node_modules\.bin\express

     文件        139  2014-03-03 14:15  socketio4net\NodeJS\node_modules\.bin\express.cmd

     文件          0  2014-03-03 14:14  socketio4net\NodeJS\node_modules\ejs\.gitmodules

     文件         62  2014-03-03 14:14  socketio4net\NodeJS\node_modules\ejs\.npmignore

     文件         69  2014-03-03 14:14  socketio4net\NodeJS\node_modules\ejs\.travis.yml

     文件        326  2014-03-03 14:14  socketio4net\NodeJS\node_modules\ejs\benchmark.js

     文件      13367  2014-03-03 14:14  socketio4net\NodeJS\node_modules\ejs\ejs.js

     文件       7635  2014-03-03 14:14  socketio4net\NodeJS\node_modules\ejs\ejs.min.js

     文件        588  2014-03-03 14:14  socketio4net\NodeJS\node_modules\ejs\examples\client.html

     文件        183  2014-03-03 14:14  socketio4net\NodeJS\node_modules\ejs\examples\functions.ejs

     文件        433  2014-03-03 14:14  socketio4net\NodeJS\node_modules\ejs\examples\functions.js

     文件        152  2014-03-03 14:14  socketio4net\NodeJS\node_modules\ejs\examples\list.ejs

     文件        224  2014-03-03 14:14  socketio4net\NodeJS\node_modules\ejs\examples\list.js

     文件       2696  2014-03-03 14:14  socketio4net\NodeJS\node_modules\ejs\History.md

     文件         39  2014-03-03 14:14  socketio4net\NodeJS\node_modules\ejs\index.js

     文件       8381  2014-03-03 14:14  socketio4net\NodeJS\node_modules\ejs\lib\ejs.js

     文件       3101  2014-03-03 14:14  socketio4net\NodeJS\node_modules\ejs\lib\filters.js

     文件        419  2014-03-03 14:14  socketio4net\NodeJS\node_modules\ejs\lib\utils.js

     文件        337  2014-03-03 14:14  socketio4net\NodeJS\node_modules\ejs\Makefile

     文件       6102  2014-03-03 14:14  socketio4net\NodeJS\node_modules\ejs\package.json

     文件       5045  2014-03-03 14:14  socketio4net\NodeJS\node_modules\ejs\Readme.md

     文件       3822  2014-03-03 14:14  socketio4net\NodeJS\node_modules\ejs\support\compile.js

     文件       8987  2014-03-03 14:14  socketio4net\NodeJS\node_modules\ejs\test\ejs.js

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

评论

共有 条评论