投稿

ラベル(Unity)が付いた投稿を表示しています

C#標準ライブラリでWebSocketクライアントを作る

C#でWebSocketクライアントを作りたい場合、websocket-sharpというライブラリがよく使われているが、標準ライブラリだけで賄いたい。 標準でSystem.Net.WebSockets名前空間にClientWebSocketクラスが用意されており、MSDNに使い方が載っている。 Windows 8 のネットワーク接続 - Windows 8 と WebSocket プロトコル 一応通信はできるのだが、あまりにも原始的なのでラッパークラスを作る。 using System; using System.IO; using System.Net.WebSockets; using System.Threading; using System.Threading.Tasks; public class WebSocketClient { private const int SendBufferSize = 1024; private const int ReceiveBufferSize = 1024; private ClientWebSocket Socket; public event EventHandler OnOpenHandler; public event EventHandler OnCloseHandler; public event EventHandler<string> OnTextHandler; public event EventHandler<byte[]> OnBinaryHandler; public Uri Uri { get; set; } public async Task SendTextAsync(string text) { using var memoryStream = new MemoryStream(); using var streamWriter = new StreamWriter(memoryStream); await streamWriter.WriteAsync(text); await st...

指定範囲内のVector2Intの配列を作る

public class TestClass { public void TestMethod() { var countX = 3; var countY = 4; var aaa = Enumerable.Range(0, countY) .SelectMany(y => Enumerable.Range(0, countX) .Select(x => new Vector2Int(x, y))); // (x:0, y:0), (x:1, y:0), (x:2, y:0), // (x:0, y:1), (x:1, y:1), (x:2, y:1), // (x:0, y:2), (x:1, y:2), (x:2, y:2), // (x:0, y:3), (x:1, y:2), (x:2, y:3) } }