简化API使用,支持Protobuf协议,可根据配合的服务器自定义协议头信息
HTTP
创建HTTP请求对象
var http: HttpManager = new HttpManager();
http.server = "http://172.16.16.185:8088/";
HTTP GET方式请求文本类型返回数据
// 请求参数为可选项,没有时可不传值
var params: any = {
"keys": "参数"
};
ret = await http.getText("请求命令名", params);
if (ret.isSucc) {
console.log(ret.res); // 请求成功信息
}
else {
console.log(ret.err); // 请求失败信息
}
HTTP GET方式请求JSON类型返回数据
// 请求参数为可选项,没有时可不传值
var params: any = {
"keys": "参数"
};
ret = await http.getJson("请求命令名", params);
if (ret.isSucc) {
console.log(ret.res); // 请求成功信息
}
else {
console.log(ret.err); // 请求失败信息
}
HTTP POST方式请求JSON类型返回数据
// 请求参数为可选项,没有时可不传值
var params: any = {
"keys": "参数"
};
ret = await http.postJson("请求命令名", params);
if (ret.isSucc) {
console.log(ret.res); // 请求成功信息
}
else {
console.log(ret.err); // 请求失败信息
}
HTTP POST方式请求Protobuf类型返回数据
var ret = await http.postProtobuf<proto.client.LoginResp>(proto.client.Cmd.LOGIN, "LoginReq", "LoginResp", msg);
if (ret.isSucc) {
console.log(ret.res); // ret.res为proto.client.LoginResp类型,编码时有代码提示功能
}
else {
console.log(ret.err); // 请求失败信息
}
WebSocket
创建一个WebSocket网络连接对象
this.game = new NetNodeGame();
this.game.init(new WebSock(), new GameProtocol(), new NetGameTips());
NetManager.getInstance().setNetNode(this.game, NetChannelType.Game);
连接WebSocket网络服务器
NetManager.getInstance().connect({
url: `ws://127.0.0.1:8888`,
autoReconnect: 0 // 手动重连接
}, NetChannelType.Game);
请求Protobuf协议的网络数据
var params = new proto.client.UserReq();
params.uid = 10000;
var ret = await netChannel.game.req<proto.client.UserResp>(proto.client.Cmd.User.toString(), "UserReq", "UserResp", params);
if (ret.isSucc) {
console.log(ret.res); // ret.res为proto.client.UserResp类型,编码时有代码提示功能
}
else {
console.log(ret.err); // 请求失败信息
}