meta data for this page
📚 Native/Socket
Socket类是开发阶段常用功能,可进行网络\HTTP\套接字等相关操作。
注意:为了考虑玩家用户的体验,模组开发者应避免请求令人反感的内容。
任何Socket操作仅在当前场景生效,基于Native机制可同时在World\Client
互通使用,场景切换后将被自动清除。
📒 Static Event
📘 OnHTTPDataReceive( data, url, tag )
当HTTP/GET OR POST
请求返回数据时调用。
function OnHTTPDataReceive( data: string, url: string, tag: string )
Socket.HTTPGet("https://www.google.com/", "myGet"); function OnHTTPDataReceive(data, url, tag) { //Get 'https://www.google.com/' (Tag: 'myGet') if(tag == "myGet") { //XXX DLog(data); } }
📘 OnServerQueryReceive( data, address )
当服务器接收到Query\Gamespy
数据时调用(格式必须是\xxx\
使用反斜杠包围)。
引擎内置数据指令(例如querystats
等)不会触发此事件。
function OnServerQueryReceive( data: string, address: string )
📒 Static Function
📘 Socket.HTTPGet()
发送一个HTTP/Get
请求,超时时间为5000ms
。
function Socket.HTTPGet( url: string, tag: string = "" )
Socket.HTTPGet("https://www.google.com/"); Socket.HTTPGet("https://www.google.com/", "myGet");
📘 Socket.HTTPPost()
发送一个HTTP/Post
请求,超时时间为5000ms
。
function Socket.HTTPPost( url: string, data: string, tag: string = "" )
Socket.HTTPPost("https://www.google.com/", "JsonOrText"); Socket.HTTPPost("https://www.google.com/", "JsonOrText", "myPost");
📘 SendSocketData()
发送Socket\Network网络通信数据。
在当前版本下,此方法主要用于外部UDP传输。
对应接收事件:OnDataServerReceive
//Address=IP:Port function SendSocketData( address: string, data: string )
SendSocketData("127.0.0.1:8192", "Test");
📒 网络扩展
引擎World端内置了一套DataServer
数据服务器系统,使用其相关功能可实现外部UDP与服务器之间的交互通信,详情参考《World/Main》文档(Socket关键字)。