using System.Collections;
using System.Collections.Generic;
using System.Text;
using LitJson;
using UnityEngine;
using WebSocketSharp;
public class WebsocketTest : MonoBehaviour {
private string ServerIp; //连接 websocket 的 ip
private string Token; //连接 websocket 的令牌
void Start () {
GameRequset ();
}
/// <summary>
/// 创建 websocket
/// </summary>
public void GameRequset () {
//创建服务器连接:
var ws = new WebSocket ("ws://" + ServerIp + "/websocket.do?token=" + Token);
//当 web socket连接已经建立时发生这里事件。
ws.OnOpen += (sender, e) => {
Debug.Log (" web socket 连接已经建立" + "ws://" + ServerIp + "/websocket.do?token=" + Token);
};
//当 WebSocket 收到消息时发生此事件
ws.OnMessage += (sender, e) => {
Debug.Log (" Web Socket 收到新消息" + " Data: " + e.Data);
};
//当 WebSocket 获得错误时发生这里事件
ws.OnError += (sender, e) => {
Debug.Log (" Web Socket 获得错误" + e.Message);
};
//当 web socket连接关闭时发生这里事件。
ws.OnClose += (sender, e) => {
Debug.Log (" web socket 连接关闭" + e.Reason);
};
//连接到 web socket服务器。
ws.Connect ();
//将数据发送到 web socket服务器。
ws.Send (JsonData ());
//如果希望异步发送数据,则应使用 WebSocket.SendAsync 方法。
// ws.SendAsync (data, completed);
//关闭 web socket连接。
// ws.Close (code, reason);
}
/// <summary>
/// 定义游戏服务器消息格式josn数据
/// </summary>
/// <returns></returns>
private string JsonData () {
StringBuilder sb = new StringBuilder ();
JsonWriter writer = new JsonWriter (sb);
writer.WriteObjectStart ();
writer.WritePropertyName ("_msg_name");
writer.Write ("10");
writer.WritePropertyName ("_msg_name");
string str = "{" + "24" + "}";
writer.Write (str);
writer.WriteObjectEnd ();
return sb.ToString ();
}
}
websocket-sharp 插件 下载导向:https://download.csdn.net/download/tianhunyishui/11082403