237 lines
8.0 KiB
C#
237 lines
8.0 KiB
C#
using System;
|
|
using System.Runtime.InteropServices;
|
|
using BestHTTP.WebSocket;
|
|
using Cpp2IlInjected;
|
|
using UnityEngine;
|
|
|
|
namespace BestHTTP.Examples
|
|
{
|
|
// Token: 0x020012CD RID: 4813
|
|
[Token(Token = "0x20012CD")]
|
|
[StructLayout(3)]
|
|
public class WebSocketSample : MonoBehaviour
|
|
{
|
|
// Token: 0x060078A8 RID: 30888 RVA: 0x001914C4 File Offset: 0x0018F6C4
|
|
[Token(Token = "0x60078A8")]
|
|
[Address(RVA = "0x1E6D330", Offset = "0x1E6BD30", VA = "0x181E6D330")]
|
|
private void OnDestroy()
|
|
{
|
|
WebSocket webSocket = this.webSocket;
|
|
if (webSocket != 0)
|
|
{
|
|
webSocket.Close();
|
|
return;
|
|
}
|
|
}
|
|
|
|
// Token: 0x060078A9 RID: 30889 RVA: 0x001914E4 File Offset: 0x0018F6E4
|
|
[Token(Token = "0x60078A9")]
|
|
[Address(RVA = "0x1E6D490", Offset = "0x1E6BE90", VA = "0x181E6D490")]
|
|
private void OnGUI()
|
|
{
|
|
Rect clientArea = GUIHelper.ClientArea;
|
|
Action action = delegate
|
|
{
|
|
WebSocket webSocket5;
|
|
Delegate delegate4;
|
|
for (;;)
|
|
{
|
|
GUILayoutOption[] array = Array.Empty<GUILayoutOption>();
|
|
string text = this.Text;
|
|
Vector2 vector;
|
|
this.scrollPos = vector;
|
|
this.scrollPos.y = (float)0;
|
|
GUILayoutOption[] array2 = Array.Empty<GUILayoutOption>();
|
|
GUILayout.Label(text, array2);
|
|
GUILayout.EndScrollView();
|
|
GUILayout.Space(5f);
|
|
GUILayout.FlexibleSpace();
|
|
string text2 = this.address;
|
|
GUILayoutOption[] array3 = Array.Empty<GUILayoutOption>();
|
|
string text3 = GUILayout.TextField(text2, array3);
|
|
this.address = text3;
|
|
if (this.webSocket != (ulong)0L)
|
|
{
|
|
goto IL_1F1;
|
|
}
|
|
GUILayoutOption[] array4 = Array.Empty<GUILayoutOption>();
|
|
if (!GUILayout.Button("Open Web Socket", array4))
|
|
{
|
|
goto IL_1F1;
|
|
}
|
|
WebSocket webSocket = new WebSocket(new Uri(this.address));
|
|
this.webSocket = webSocket;
|
|
webSocket.<StartPingThread>k__BackingField = true;
|
|
if (webSocket != 0)
|
|
{
|
|
HTTPProxy httpproxy;
|
|
this.webSocket.<InternalRequest>k__BackingField.<Proxy>k__BackingField = httpproxy;
|
|
}
|
|
WebSocket webSocket2 = this.webSocket;
|
|
OnWebSocketOpenDelegate onOpen = webSocket2.OnOpen;
|
|
OnWebSocketOpenDelegate onWebSocketOpenDelegate = new OnWebSocketOpenDelegate(this.OnOpen);
|
|
Delegate @delegate = Delegate.Combine(onOpen, onWebSocketOpenDelegate);
|
|
if (@delegate == 0 || @delegate != 0)
|
|
{
|
|
webSocket2.OnOpen = @delegate;
|
|
WebSocket webSocket3 = this.webSocket;
|
|
OnWebSocketMessageDelegate onMessage = webSocket3.OnMessage;
|
|
OnWebSocketMessageDelegate onWebSocketMessageDelegate = new OnWebSocketMessageDelegate(this.OnMessageReceived);
|
|
Delegate delegate2 = Delegate.Combine(onMessage, onWebSocketMessageDelegate);
|
|
if (delegate2 == 0 || delegate2 != 0)
|
|
{
|
|
webSocket3.OnMessage = delegate2;
|
|
WebSocket webSocket4 = this.webSocket;
|
|
OnWebSocketClosedDelegate onClosed = webSocket4.OnClosed;
|
|
OnWebSocketClosedDelegate onWebSocketClosedDelegate = new OnWebSocketClosedDelegate(this.OnClosed);
|
|
Delegate delegate3 = Delegate.Combine(onClosed, onWebSocketClosedDelegate);
|
|
if (delegate3 == 0 || delegate3 != 0)
|
|
{
|
|
webSocket4.OnClosed = delegate3;
|
|
webSocket5 = this.webSocket;
|
|
OnWebSocketErrorDelegate onError = webSocket5.OnError;
|
|
OnWebSocketErrorDelegate onWebSocketErrorDelegate = new OnWebSocketErrorDelegate(this.OnError);
|
|
delegate4 = Delegate.Combine(onError, onWebSocketErrorDelegate);
|
|
if (delegate4 == 0 || delegate4 != 0)
|
|
{
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
webSocket5.OnError = delegate4;
|
|
this.webSocket.Open();
|
|
string text4 = this.Text + "Opening Web Socket...\n";
|
|
this.Text = text4;
|
|
IL_1F1:
|
|
WebSocket webSocket6 = this.webSocket;
|
|
if (webSocket6 != 0 && webSocket6.IsOpen)
|
|
{
|
|
GUILayout.Space(10f);
|
|
GUILayout.BeginHorizontal(Array.Empty<GUILayoutOption>());
|
|
string text5 = this.msgToSend;
|
|
GUILayoutOption[] array5 = Array.Empty<GUILayoutOption>();
|
|
string text6 = GUILayout.TextField(text5, array5);
|
|
this.msgToSend = text6;
|
|
GUILayout.EndHorizontal();
|
|
GUILayoutOption[] array6 = new GUILayoutOption[1];
|
|
GUILayoutOption guilayoutOption = GUILayout.MaxWidth(70f);
|
|
if (guilayoutOption != 0)
|
|
{
|
|
}
|
|
array6[0] = guilayoutOption;
|
|
if (GUILayout.Button("Send", array6))
|
|
{
|
|
string text7 = this.Text + "Sending message...\n";
|
|
WebSocket webSocket7 = this.webSocket;
|
|
this.Text = text7;
|
|
string text8 = this.msgToSend;
|
|
webSocket7.Send(text8);
|
|
}
|
|
GUILayout.Space(10f);
|
|
GUILayoutOption[] array7 = Array.Empty<GUILayoutOption>();
|
|
if (GUILayout.Button("Close", array7))
|
|
{
|
|
WebSocket webSocket8 = this.webSocket;
|
|
}
|
|
}
|
|
};
|
|
GUIHelper.DrawArea(clientArea, true, action);
|
|
}
|
|
|
|
// Token: 0x060078AA RID: 30890 RVA: 0x0019150C File Offset: 0x0018F70C
|
|
[Token(Token = "0x60078AA")]
|
|
[Address(RVA = "0x1E6D5B0", Offset = "0x1E6BFB0", VA = "0x181E6D5B0")]
|
|
private void OnOpen(WebSocket ws)
|
|
{
|
|
string text = this.Text;
|
|
object[] array = Array.Empty<object>();
|
|
string text2 = string.Format("-WebSocket Open!\n", array);
|
|
string text3 = text + text2;
|
|
this.Text = text3;
|
|
}
|
|
|
|
// Token: 0x060078AB RID: 30891 RVA: 0x00191544 File Offset: 0x0018F744
|
|
[Token(Token = "0x60078AB")]
|
|
[Address(RVA = "0x1E6D540", Offset = "0x1E6BF40", VA = "0x181E6D540")]
|
|
private void OnMessageReceived(WebSocket ws, string message)
|
|
{
|
|
string text = this.Text;
|
|
string text2 = string.Format("-Message received: {0}\n", message);
|
|
string text3 = text + text2;
|
|
this.Text = text3;
|
|
}
|
|
|
|
// Token: 0x060078AC RID: 30892 RVA: 0x00191574 File Offset: 0x0018F774
|
|
[Token(Token = "0x60078AC")]
|
|
[Address(RVA = "0x1E6D290", Offset = "0x1E6BC90", VA = "0x181E6D290")]
|
|
private void OnClosed(WebSocket ws, ushort code, string message)
|
|
{
|
|
string text = this.Text;
|
|
string text2 = string.Format("-WebSocket closed! Code: {0} Message: {1}\n", code, message);
|
|
string text3 = text + text2;
|
|
this.Text = text3;
|
|
this.webSocket = (ulong)0L;
|
|
}
|
|
|
|
// Token: 0x060078AD RID: 30893 RVA: 0x001915B0 File Offset: 0x0018F7B0
|
|
[Token(Token = "0x60078AD")]
|
|
[Address(RVA = "0x1E6D350", Offset = "0x1E6BD50", VA = "0x181E6D350")]
|
|
private void OnError(WebSocket ws, Exception ex)
|
|
{
|
|
HTTPResponse <Response>k__BackingField = ws.<InternalRequest>k__BackingField.<Response>k__BackingField;
|
|
if (<Response>k__BackingField != 0)
|
|
{
|
|
int <StatusCode>k__BackingField = <Response>k__BackingField.<StatusCode>k__BackingField;
|
|
string <Message>k__BackingField = ws.<InternalRequest>k__BackingField.<Response>k__BackingField.<Message>k__BackingField;
|
|
string text = string.Format("Status Code from Server: {0} and Message: {1}", <StatusCode>k__BackingField, <Message>k__BackingField);
|
|
}
|
|
string text2 = this.Text;
|
|
if (ex != 0)
|
|
{
|
|
}
|
|
string text4;
|
|
string text3 = string.Format("-An error occured: {0}\n", text4);
|
|
string text5 = text2 + text3;
|
|
this.Text = text5;
|
|
this.webSocket = (ulong)0L;
|
|
}
|
|
|
|
// Token: 0x060078AE RID: 30894 RVA: 0x00191630 File Offset: 0x0018F830
|
|
[Token(Token = "0x60078AE")]
|
|
[Address(RVA = "0x1E6DBD0", Offset = "0x1E6C5D0", VA = "0x181E6DBD0")]
|
|
public WebSocketSample()
|
|
{
|
|
string empty = string.Empty;
|
|
this.Text = empty;
|
|
base..ctor();
|
|
}
|
|
|
|
// Token: 0x04005702 RID: 22274
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x18")]
|
|
[Token(Token = "0x4005702")]
|
|
private string address = "wss://echo.websocket.org";
|
|
|
|
// Token: 0x04005703 RID: 22275
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x20")]
|
|
[Token(Token = "0x4005703")]
|
|
private string msgToSend = "Hello World!";
|
|
|
|
// Token: 0x04005704 RID: 22276
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x28")]
|
|
[Token(Token = "0x4005704")]
|
|
private string Text;
|
|
|
|
// Token: 0x04005705 RID: 22277
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x30")]
|
|
[Token(Token = "0x4005705")]
|
|
private WebSocket webSocket;
|
|
|
|
// Token: 0x04005706 RID: 22278
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x38")]
|
|
[Token(Token = "0x4005706")]
|
|
private Vector2 scrollPos;
|
|
}
|
|
}
|