RSS

C#: TCP Server sample (1)

23 11月

 

 

using System;
using System.Collections.Generic;
using System.Text;
using System.Net;
using System.Net.Sockets;

namespace TcpListenerTest
{
 class Program
 {
 static void Main(string[] args)
 {
 TcpServer server = new TcpServer(11);
 Console.WriteLine("Listening ...");
 server.Listen();
 Console.WriteLine("closed.");
 }
 }

 class TcpServer
 {
 public int? port1 = null;
 private TcpListener tcpListener1 = null;
 private IPAddress address1 = null;
 private byte[] buffer = null;
 
 public TcpServer(int port)
 {
 this.buffer = new byte[4096];
 this.port1 = port;
 this.address1 = new IPAddress(new byte[] {127,0,0,1});
 this.tcpListener1 = new TcpListener(this.address1, (int)this.port1);
 }

 public void Listen()
 {
 this.tcpListener1.Start();
 TcpClient client = tcpListener1.AcceptTcpClient();    // blocking
 NetworkStream stream = client.GetStream();
 int n = stream.Read(buffer, 0, buffer.Length);
 string data = Encoding.ASCII.GetString(buffer, 0, n);
 Console.WriteLine(data);
 byte[] answer = new byte[] { 0x24, 0x0a };
 stream.Write(answer, 0, answer.Length);
 stream.Close();
 }
 }
}

 
コメントする

投稿者: : 2010/11/23 投稿先 C#

 

タグ: , , ,

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中