Using System; using System. Collections. Generic



Yüklə 72,41 Kb.
tarix17.10.2017
ölçüsü72,41 Kb.
#5086

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;


using System.Net;

using System.Net.Sockets;

using System.IO;
namespace Server

{

class Program



{

static void Main(string[] args)

{

TcpListener TcpDinleyicisi = new TcpListener(1234);



TcpDinleyicisi.Start();

Console.WriteLine("Sunucu baslatildi...");


//Soket baglantimizi yapiyoruz.Bunu TcpListener sinifinin AcceptSocket metodu ile yaptigimiza dikkat edin

Socket IstemciSoketi = TcpDinleyicisi.AcceptSocket();


// Baglantının olup olmadığını kontrol ediyoruz

if (!IstemciSoketi.Connected)

{

Console.WriteLine("Sunucu baslatilamiyor...") ;



}

else


{

//Sonsuz döngü sayesinde AgAkimini sürekli okuyoruz

while(true)

{

Console.WriteLine("Istemci baglantisi saglandi...");


//IstemciSoketi verilerini NetworkStream sinifi türünden nesneye aktariyoruz.

NetworkStream AgAkimi = new NetworkStream(IstemciSoketi);


//Soketteki bilgilerle islem yapabilmek için StreamReader ve StreamWriter siniflarini kullaniyoruz

StreamWriter AkimYazici = new StreamWriter(AgAkimi);

StreamReader AkimOkuyucu = new StreamReader(AgAkimi);

//StreamReader ile String veri tipine aktarma islemi önceden bir hata olursa bunu handle etmek gerek

try

{

string IstemciString = AkimOkuyucu.ReadLine();


Console.WriteLine("Gelen Bilgi:" + IstemciString);
//Istemciden gelen bilginin uzunlugu hesaplaniyor

int uzunluk = IstemciString.Length;


//AgAkimina, AkimYazını ile IstemciString inin uzunluğunu yazıyoruz

AkimYazici.WriteLine(uzunluk.ToString());


AkimYazici.Flush() ;

}

catch



{

Console.WriteLine("Sunucu kapatiliyor...");

return ;

}

} //endwhile


} //Edn else
IstemciSoketi.Close();

Console.WriteLine("Sunucu Kapatiliyor...");

}

}

}



using System.Net;

using System.Net.Sockets;

using System.IO;


namespace Client

{

public partial class Form1 : Form



{

public Form1()

{

InitializeComponent();



}
public TcpClient Istemci;

private NetworkStream AgAkimi;

private StreamReader AkimOkuyucu;

private StreamWriter AkimYazici;

private void button1_Click(object sender, EventArgs e)

{

//Kullanıcı butona her tıkladığında textbox'ta yazı yoksa uyarı veriyoruz



//Sonra AkimYazici vasıtası ile AgAkımına veriyi gönderip sunucudan gelen

//cevabı AkimOkuyucu ile alıp Mesaj la kullanıcıya gösteriyoruz

//Tabi olası hatalara karşı, Sunucuya bağlanmada hata oluştu mesajı veriyoruz.

try


{

if (textBox1.Text=="")

{

MessageBox.Show("Lütfen bir yazi giriniz","Uyari");



textBox1.Focus();

return ;


}
string yazi;

AkimYazici.WriteLine(textBox1.Text);

AkimYazici.Flush();

yazi = AkimOkuyucu.ReadLine();

MessageBox.Show(yazi,"Sunucudan Mesaj var");

}
catch

{

MessageBox.Show("Sunucuya baglanmada hata oldu...");



}
}

private void Form1_Load(object sender, EventArgs e)

{

try


{

Istemci = new TcpClient("localhost", 1234);

}

catch


{

Console.WriteLine("Baglanamadi");

return;

}

//Server programında yaptıklarımızı burda da yapıyoruz.



AgAkimi = Istemci.GetStream();

AkimOkuyucu = new StreamReader(AgAkimi);

AkimYazici = new StreamWriter(AgAkimi);

}
private void Form1_FormClosed(object sender, FormClosedEventArgs e)

{

try


{

AkimYazici.Close();

AkimOkuyucu.Close();

AgAkimi.Close();

}
catch

{

MessageBox.Show("Düzgün kapatilamiyor");



}
}

}

}



using System.Net;

using System.Net.Sockets;

namespace SUNUCU2

{

class Program



{

static byte[] Buffer { get; set; }

static Socket soket;

static void Main(string[] args)

{

soket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);



soket.Bind(new IPEndPoint(0,1234) );

soket.Listen(100);//

Socket accepted = soket.Accept();

Buffer = new byte [accepted.SendBufferSize];

int byteRead = accepted.Receive(Buffer);

byte [] formatted= new byte [byteRead];

for (int i = 0; i < byteRead; i++)

{

formatted[i] = Buffer[i];



}

string strData = Encoding.ASCII.GetString( formatted);

Console.Write(strData + "\r\n");

Console.Read();

soket.Close();

accepted.Close();

}

}

}



using System.Net;

using System.Net.Sockets;


namespace CLIENT2

{

class Program



{

static Socket soket;


static void Main(string[] args)

{

soket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);



IPEndPoint localEndPoint = new IPEndPoint(IPAddress.Parse("127.0.0.1"),1234);

try {


soket.Connect(localEndPoint); // socket.Connect("127.0.0.1",1234);

}

catch {



Console.Write("Unable to connect to remote end point \r\n");

Main(args);

}

Console.Clear();



Console.Write("Enter text:");
string text= Console.ReadLine();

byte[] data = Encoding.ASCII.GetBytes(text);


soket.Send(data);

Console.Write("Data sent!\r\n");

Console.Write("Press any key to continue...");

Console.Read();

soket.Close();

//ConsoleKeyInfo key = Console.ReadKey(true);

// if (key.Key == ConsoleKey.Escape) break;

}

}



}

SERVER http://csharp.net-informations.com/communications/csharp-client-socket.htm

using System;

using System.Net.Sockets;

using System.Text;
namespace ConsoleApplication1

{

class Program



{

static void Main(string[] args)

{

TcpListener serverSocket = new TcpListener(8888);



int requestCount = 0;

TcpClient clientSocket = default(TcpClient);

serverSocket.Start();

Console.WriteLine(" >> Server Started");

clientSocket = serverSocket.AcceptTcpClient();

Console.WriteLine(" >> Accept connection from client");

requestCount = 0;
while ((true))

{

try



{

requestCount = requestCount + 1;

NetworkStream networkStream = clientSocket.GetStream();

byte[] bytesFrom = new byte[10025];

networkStream.Read(bytesFrom, 0, (int)clientSocket.ReceiveBufferSize);

string dataFromClient = System.Text.Encoding.ASCII.GetString(bytesFrom);

dataFromClient = dataFromClient.Substring(0, dataFromClient.IndexOf("$"));

Console.WriteLine(" >> Data from client - " + dataFromClient);

string serverResponse = "Server response " + Convert.ToString(requestCount);

Byte[] sendBytes = Encoding.ASCII.GetBytes(serverResponse);

networkStream.Write(sendBytes, 0, sendBytes.Length);

networkStream.Flush();

Console.WriteLine(" >> " + serverResponse);

}

catch (Exception ex)



{

Console.WriteLine(ex.ToString());

}

}
clientSocket.Close();



serverSocket.Stop();

Console.WriteLine(" >> exit");

Console.ReadLine();

}

}



}

Client


using System;

using System.Windows.Forms;

using System.Net.Sockets;

using System.Text;


namespace WindowsApplication1

{

public partial class Form1 : Form



{

System.Net.Sockets.TcpClient clientSocket = new System.Net.Sockets.TcpClient();


public Form1()

{

InitializeComponent();



}
private void Form1_Load(object sender, EventArgs e)

{

msg("Client Started");



clientSocket.Connect("127.0.0.1", 8888);

label1.Text = "Client Socket Program - Server Connected ...";

}
private void button1_Click(object sender, EventArgs e)

{

NetworkStream serverStream = clientSocket.GetStream();



byte[] outStream = System.Text.Encoding.ASCII.GetBytes("Message from Client$");

serverStream.Write(outStream, 0, outStream.Length);

serverStream.Flush();
byte[] inStream = new byte[10025];

serverStream.Read(inStream, 0, (int)clientSocket.ReceiveBufferSize);

string returndata = System.Text.Encoding.ASCII.GetString(inStream);

msg("Data from Server : " + returndata);

}
public void msg(string mesg)

{

textBox1.Text = textBox1.Text + Environment.NewLine + " >> " + mesg;



}

}

}
Yüklə 72,41 Kb.

Dostları ilə paylaş:




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©genderi.org 2024
rəhbərliyinə müraciət

    Ana səhifə