WebSocketClient
Inherits: WebSocketMultiplayerPeer < NetworkedMultiplayerPeer < PacketPeer < Reference < Object
WebSocket客户端的实现。
描述
该类实现了一个与任何符合RFC 6455的WebSocket服务器兼容的WebSocket客户端。
这个客户端可以选择性地作为MultiplayerAPI的网络对等体使用。
在启动客户端后(connect_to_url),你需要NetworkedMultiplayerPeer.poll它以固定的时间间隔,例如在Node._process内。
当连接、断开连接或有新数据时,你将收到适当的信号。
属性
方法
connect_to_url ( String url, PoolStringArray protocols=PoolStringArray( ), bool gd_mp_api=false, PoolStringArray custom_headers=PoolStringArray( ) ) | |
void | disconnect_from_host ( int code=1000, String reason=”” ) |
get_connected_host ( ) const | |
get_connected_port ( ) const |
信号
- connection_closed ( bool was_clean_close )
当与服务器的连接被关闭时触发。was_clean_close
将是true
如果连接完全关闭。
- connection_error ( )
当与服务器的连接失败时触发。
- connection_established ( String protocol )
当与服务器建立连接时触发,protocol
协议将包含与服务器达成一致的子协议。
- data_received ( )
当收到WebSocket消息时触发。
注意:当作为高级别的多人对等体使用时,这个信号not不发射。
当服务器请求完全关闭时触发。你应该继续进行轮询,直到获得connection_closed信号,以实现彻底的关闭。更多细节参阅WebSocketPeer.close。
属性说明
- X509Certificate trusted_ssl_certificate
Setter | set_trusted_ssl_certificate(value) |
Getter | get_trusted_ssl_certificate() |
如果指定,该X509Certificate将是连接到SSL主机时唯一接受的证书。任何由服务器提供的其他证书将被视为无效。
注意:由于浏览器的限制,在HTML5导出中不支持指定一个自定义的trusted_ssl_certificate
。
- bool verify_ssl
Setter | set_verify_ssl_enabled(value) |
Getter | is_verify_ssl_enabled() |
如果 true
,则启用 SSL 证书验证。
注意: 你必须在项目设置中指定要使用的证书,以便在导出时发挥作用。
方法说明
- Error connect_to_url ( String url, PoolStringArray protocols=PoolStringArray( ), bool gd_mp_api=false, PoolStringArray custom_headers=PoolStringArray( ) )
连接到给定的URL,请求给定的protocols
之一作为子协议。如果列表为空,默认为空,将不请求子协议。
如果true
作为gd_mp_api
被传递,客户端将表现得像MultiplayerAPI的网络对等体,与非Godot服务器的连接将不工作,并且data_received将不被触发。
如果false
被传递,默认传递,你必须调用PacketPeer函数,put_packet
, get_packet
等,对通过get_peer(1)
返回的WebSocketPeer,而不是直接对该对象,例如,get_peer(1).put_packet(data)
。
你可以选择传递一个custom_headers
的列表,以添加到握手的HTTP请求中。
注意: 为了避免HTML5中的混合内容警告或错误,须使用以wss://
(安全)开头的url
,而不是ws://
。这样做时,确保使用与服务器的SSL证书中定义的完全合格的域名。不要直接通过IP地址进行wss://
连接,因为它不会与SSL证书相匹配。
注意:由于浏览器的限制,指定custom_headers
在HTML5导出中不被支持。
断开此客户端与所连接主机的连接。更多信息参阅WebSocketPeer.close。
- String get_connected_host ( ) const
返回当前连接的主机的IP地址。
- int get_connected_port ( ) const
返回当前连接的主机的IP端口。