aardio 文档

web.SocketSharp 库模块帮助文档

参考文档

websocket-sharp.dll 源码 https://github.com/aardio/websocket-sharp

注意: 使用 console.open 打开控制台可以查看 web.SocketSharp 输出的错误信息。

web.SocketSharp 成员列表

支持 ws,wss 的 WebSocket 组件,这是一个 .NET 组件。
仅适用于界面线程。

web.SocketSharp.Net

.NET 名字空间 WebSocketSharp.Net 的别名

web.SocketSharp.WebSocket()

调用 WebSocketSharp 创建 WebSocket 客户端对象。
参数 @1 可指定端口号,也可指定 ws 或 wss 协议服务器地址。
返回 .NET 对象,用法请参考 dotNet 库以及范例

返回对象:wssNetClientObject

web.SocketSharp.Server 成员列表

web.SocketSharp.Server.HttpServer()

调用 WebSocketSharp 创建 WebSocket + HTTP 服务端对象。
参数 @1 可指定 https 或 https 协议服务器地址。
返回 .NET 对象,用法请参考 dotNet 库以及范例。

注意用 console.open 打开控制台可查看 WebSocketSharp 输出的错误信息

返回对象:wssNetHttpServerObject

web.SocketSharp.Server.WebSocketServer()

调用 WebSocketSharp 创建 WebSocket 服务端对象。
参数 @1 可指定 ws 或 wss 协议服务器地址。
返回 .NET 对象,用法请参考 dotNet 库以及范例。

注意用 console.open 打开控制台可查看 WebSocketSharp 输出的错误信息

返回对象:wssNetServerObject

web.SocketSharp.WebSocketState 成员列表

web.SocketSharp.WebSocketState.Closed

已关闭

web.SocketSharp.WebSocketState.Closing

正在关闭

web.SocketSharp.WebSocketState.Connecting

正在连接

web.SocketSharp.WebSocketState.Open

已连接

wssNetClientObject 成员列表

wssNetClientObject.Close()

关闭连接。
参数 @1 可选用数值指定关闭代码,参数 @2 可选用字符串指定关闭理由

wssNetClientObject.CloseAsync()

关闭连接,异步非阻塞执行。
参数 @1 可选用数值指定关闭代码,参数 @2 可选用字符串指定关闭理由

wssNetClientObject.Connect()

连接 WebSocket 服务器

wssNetClientObject.ConnectAsync()

连接 WebSocket 服务器,异步非阻塞执行

wssNetClientObject.EmitOnPing

Ping 消息是否触发 OnMessage

OnMessage 是否处理 Ping 消息。
回调参数 e 的 e.IsPing 属性可以判断是否 Ping 消息

wssNetClientObject.EnableRedirection

是否允许重定向

wssNetClientObject.Extensions

扩展,字符串

wssNetClientObject.Headers

wssNetClientObject.Headers["/*指定自定义 HTTP 请求头名字,不包含冒号。  
值必须是字符串 或 null。  
值为 null 时可清除之前设置的自定义请求头*/"] = ""

wssNetClientObject.IsAlive

是否连接状态

wssNetClientObject.IsSecure

是否安全连接

wssNetClientObject.OnClose

wssNetClientObject.OnClose = function(sender, e){
    /*接口已关闭。  
e.Code 为错误码数值,e.Reason 为表示错误原因的字符串*/
}

wssNetClientObject.OnError

wssNetClientObject.OnError = function(sender, e){
    /*"出错了, e.Message 为错误消息,字符串值。  
如果错误为异常,则 e.Exception 为 System.Exception 对象*/

}

wssNetClientObject.OnMessage

wssNetClientObject.OnMessage = function(sender, e){
    /*收到消息", e.Data 为收到的字符串*/
}

wssNetClientObject.OnOpen

wssNetClientObject.OnOpen = function(sender, e){
    /*连接已打开*/
}

wssNetClientObject.Origin

Origin 请求头

wssNetClientObject.Protocol

协议

wssNetClientObject.ReadyState

连接状态 web.SocketSharp.WebSocketState 枚举

wssNetClientObject.Send()

发送字符串或 buffer 对象

wssNetClientObject.SendAsync(data,callback)

wssNetClientObject.SendAsync(/*指定要异步发送的字符串或 buffer,  
发送完成回调参数 @2 指定的函数*/,function(completed){  

})

wssNetClientObject.SetCookie(cookie)

设置 Cookie 参数为 web.SocketSharp.Net.Cookie 对象

wssNetClientObject.SetCredentials

设置身份验证信息。

wssNetClientObject.SetCredentials(username,password,preAuth)

设置身份验证信息。\ @nusername 指定用户名, @password 指定密码。
如果 @preAuth 为 true 则第一次请求就发送验证信息。
否则在请求失败后再发送

wssNetClientObject.SetProxy

设置代理服务器

wssNetClientObject.SetProxy(url,username,password)

设置代理服务器

wssNetClientObject.Url

连接 URL,System.Uri 对象

wssNetClientObject.WaitTime

等待时间 System.TimeSpan 对象

wssNetClientObject.setAuthToken(token,tokenType)

设置认证令牌(token)。
@token 可指定令牌,也可以指定返回令牌的网址。
@tokenType 为可选参数,默认为"Bearer"。
如果指定了令牌,则会添加请求头 "Authorization:Bearer 令牌"。
@tokenType 也可以指定为空字符串。

wssNetClientObject.SslConfiguration 成员列表

wssNetClientObject.SslConfiguration.EnabledSslProtocols

设置 SSL 协议版本,默认为 12288/*tls13*/ | 3072/*Tls12*/| 768/*Tls11*/ | 192/*Tls*/

wssNetHttpServerObject 成员列表

wssNetHttpServerObject.AddWebSocketService

wssNetHttpServerObject.AddWebSocketService("/echo",class {  

    onMessage = function(e){  
        /*  
        this.socket 会自动绑定为 WebSocketSharp.Server.WebSocketBehavior 实例。  
        用法请参考 WebSocketSharp 文档。  

        上面的参数 @1 指定了服务目录为 "/echo"。   
        参数 @2 则需要指定一个 WebSocket 会话类。  
        每次创建新的 WebSocket 连接时会调用类创建 WebSocket 会话实例。   

        必须定义 this.onMessage 事件用于接收消息。  
        可选定义 this.onOpen, this.onClose, this.onError 事件。  
        这几个事件与 WebSocketSharp.Server.WebSocketBehavio 的同名事件用法相同。  
        唯一不同的是首字母小写。  

        发送消息函数:  
        this.send() 等价于调用 this.socket.Send() 同步发送消息。  
        this.sendAsync() 等价于调用 this.socket.SendAsync() 异步发送消息。  
        唯一区别是首字母小写。  
        */   

        /* 同步发送消息,e.data 就是客户端发过来的消息  */   
            this.send(e.data)  

            /* 异步发送消息,成功回调参数 @2 */   
            this.sendAsync(e.data,function(completed){  

            } )  

    }    
});

wssNetHttpServerObject.AuthenticationSchemes

身份验证方法,
Digest 验证设为 1,Basic 验证设为 8

wssNetHttpServerObject.DocumentRootPath

网站根目录,需要用 io.fullpath 转换为绝对路径

wssNetHttpServerObject.Start()

启动服务器

wssNetHttpServerObject.Stop()

停止服务器

wssNetHttpServerObject.SslConfiguration 成员列表

SSL 证书配置。\bwss 服务端必须指定证书,网上找个在线工具生成测试证书也行

SSL 证书配置。\bwss 服务端必须指定证书,网上找个在线工具生成测试证书也行

wssNetHttpServerObject.SslConfiguration.ServerCertificate

wssNetHttpServerObject.SslConfiguration.ServerCertificate = System.Security.Cryptography.X509Certificates.X509Certificate2(  
    io.fullpath("\/*指定证书路径*/.pfx"), "密码"  
);
wssNetHttpServerObject.SslConfiguration.ServerCertificate = System.Security.Cryptography.X509Certificates.X509Certificate2(  
    io.fullpath("\/*指定证书路径*/.pfx"), "密码"  
);

wssNetServerObject 成员列表

wssNetServerObject.AddWebSocketService

wssNetServerObject.AddWebSocketService("/echo",class {  

    onMessage = function(e){  
        /*  
        this.socket 会自动绑定为 WebSocketSharp.Server.WebSocketBehavior 实例。  
        用法请参考 WebSocketSharp 文档。  

        上面的参数 @1 指定了服务目录为 "/echo"。   
        参数 @2 则需要指定一个 WebSocket 会话类。  
        每次创建新的 WebSocket 连接时会调用类创建 WebSocket 会话实例。   

        必须定义 this.onMessage 事件用于接收消息。  
        可选定义 this.onOpen, this.onClose, this.onError 事件。  
        这几个事件与 WebSocketSharp.Server.WebSocketBehavio 的同名事件用法相同。  
        唯一不同的是首字母小写。  

        发送消息函数:  
        this.send() 等价于调用 this.socket.Send() 同步发送消息。  
        this.sendAsync() 等价于调用 this.socket.SendAsync() 异步发送消息。  
        唯一区别是首字母小写。  
        */   

        /* 同步发送消息,e.data 就是客户端发过来的消息  */   
            this.send(e.data)  

            /* 异步发送消息,成功回调参数 @2 */   
            this.sendAsync(e.data,function(completed){  

            } )  

    }    
});

wssNetServerObject.Start()

启动服务器

wssNetServerObject.Stop()

停止服务器。
建议在窗体 onDestroy 事件中调用此函数。
不然下次启动,短时间内端口会是占用状态

wssNetServerObject.SslConfiguration 成员列表

SSL 证书配置。\bwss 服务端必须指定证书,网上找个在线工具生成测试证书也行

wssNetServerObject.SslConfiguration.EnabledSslProtocols

设置 SSL 协议版本,默认为 12288/*tls13*/ | 3072/*Tls12*/| 768/*Tls11*/ | 192/*Tls*/

wssNetServerObject.SslConfiguration.ServerCertificate

wssNetServerObject.SslConfiguration.ServerCertificate = System.Security.Cryptography.X509Certificates.X509Certificate2(  
    io.fullpath("\/*指定证书路径*/.pfx"), "密码"  
);

Markdown 格式