NwayのTCP:20890による ソケット通信にてコメントを送る仕様について 下記で送信しておりますので開発者様はxmlをパースしてください。 文字コードはUTF-8 コテハンなしの場合 テスト コテハンありの場合 テスト2 上記のようにニコ生のコメントサーバーから送られてくるxmlに「kotehan」という要素を足しています。 注意点 コテハンがついていない場合においてコテハンをつけても 付いてない方の2度目のコメントから反映されますので注意ください。 また時期未定ですが、運営コメントを20891で受けて飛ばすことも予定してます。 飛ばす形式としてUTF-8で  Const postxml As String = "{2}" のように飛ばしてください。 下記 VB.net での20890の通信を受けるためのサンプル Module Module1 Dim enc As System.Text.Encoding = System.Text.Encoding.UTF8 'ローカルIPアドレスでListenを開始する Dim host As String = "localhost" Dim port As Integer = 20890 Dim ipAdd As System.Net.IPAddress = _ System.Net.Dns.Resolve(host).AddressList(0) Dim listener As New System.Net.Sockets.TcpListener(ipAdd, port) Sub Main() Dim ls As New System.Threading.Thread(AddressOf listenerstart) ls.Start() End Sub Private Sub listenerstart() listener.Start() Try Do Dim tcp As System.Net.Sockets.TcpClient = _ listener.AcceptTcpClient() 'NetworkStreamを取得 Dim ns As System.Net.Sockets.NetworkStream = tcp.GetStream() 'クライアントから送られたデータを受信する Dim ms As New System.IO.MemoryStream Dim resBytes(256) As Byte Dim resSize As Integer Do 'データの一部を受信する resSize = ns.Read(resBytes, 0, resBytes.Length) 'Readが0を返した時はクライアントが切断したと判断 If resSize = 0 Then Console.ReadLine() Return End If '受信したデータを蓄積する ms.Write(resBytes, 0, resSize) Loop While ns.DataAvailable '受信したデータを文字列に変換 Dim resMsg As String = enc.GetString(ms.ToArray()) ms.Close() Console.WriteLine(resMsg) Loop Catch ex As Exception Debug.Print(ex.Message) End Try End Sub End Module C# でのサンプル using Microsoft.VisualBasic; using System; using System.Collections; using System.Collections.Generic; using System.Data; using System.Diagnostics; static class Module1 { static System.Text.Encoding enc = System.Text.Encoding.UTF8; //ローカルIPアドレスでListenを開始する static string host = "localhost"; static int port = 20890; static System.Net.IPAddress ipAdd = System.Net.Dns.Resolve(host).AddressList[0]; static System.Net.Sockets.TcpListener listener = new System.Net.Sockets.TcpListener(ipAdd, port); public static void Main() { System.Threading.Thread ls = new System.Threading.Thread(listenerstart); ls.Start(); } private static void listenerstart() { listener.Start(); try { do { System.Net.Sockets.TcpClient tcp = listener.AcceptTcpClient(); //NetworkStreamを取得 System.Net.Sockets.NetworkStream ns = tcp.GetStream(); //クライアントから送られたデータを受信する System.IO.MemoryStream ms = new System.IO.MemoryStream(); byte[] resBytes = new byte[257]; int resSize = 0; do { //データの一部を受信する resSize = ns.Read(resBytes, 0, resBytes.Length); //Readが0を返した時はクライアントが切断したと判断 if (resSize == 0) { Console.ReadLine(); return; } //受信したデータを蓄積する ms.Write(resBytes, 0, resSize); } while (ns.DataAvailable); //受信したデータを文字列に変換 string resMsg = enc.GetString(ms.ToArray()); ms.Close(); Console.WriteLine(resMsg); } while (true); } catch (Exception ex) { Debug.Print(ex.Message); } } }