//Basit Server Uygulaması 2
//Bu program Hüseyin ÇAKANLI tarafından
//20.02.2012 Tarihinde yazıldı.
//Visual Studio 2010 ile test edilmiştir.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
//Client-Server için gerekli sınıflar
using System.Net;
using System.Net.Sockets;
namespace BasitServerUygulaması
{
class Program
{
static void Main(string[] args)
{
//Server Nesnemizi tanımlayalım, port numarası : 2500 olsun
// http://localhost:2500 şeklindeki isteklere bu server'ımız cevap verecek
var server = new TcpListener(IPAddress.Any, 2500);
//Sever'ımızı başlatalım
server.Start();
Console.WriteLine("Server Başlatıldı...");
//Client tarafından gelecek istekleri dinlemeye başlayalım
while (true)
{
Console.WriteLine("Client Bekleniyor....");
//Client nesnemizi tanımlayalım
var client = server.AcceptTcpClient();
//Client nesnesinin içeriğini tutacak stream
var clientData = client.GetStream();
//İçerik için bellekte yer tahsis edelim
var buffer = new byte[1024];
var bufferSize = clientData.Read(buffer, 0, 1024);
//clientten gelen isteği alalım
var requestString = Encoding.UTF8.GetString(buffer);
Console.WriteLine(requestString);
//Serverımız HTML türünden bir sayfa dönsün.
var icerik = @"<!DOCTYPE html>
<html>
<head><title>Başlığımızı Yazdırdık</title></head>
<body>
<h1>Merhaba Açık Akademililer</h1>
</body>
</html>";
var responseText = string.Format(@"Tarih : {0}
Server : Server
Connection : Close
Content-Type : text/html
Content-Length : {1} {2}", DateTime.Now.ToString("R"), Encoding.UTF8.GetBytes(icerik).Length, icerik);
//Client'e serverdan istediğimiz mesajı verelim.
var responseBytes = Encoding.UTF8.GetBytes(responseText);
clientData.Write(responseBytes,0,responseBytes.Length);
client.Close();
}
}
}
}