1-) C# - basit soket buna bak
denetim masası-> windows özelliklerini aç veya kapattan-> telnet istemcisini aç
sonra cmd ye
telnet 127.0.0.1 600
burada 127.0.0.1 = localhost
burada 600 = portu
bağlanınca merhaba yaz ve cmd yi kapat sonra c# da consola bak yazmıştır
1-)server.cs
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Net;
using System.Net.Sockets;
using System.IO;
namespace server1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
public void dinle()
{
try
{
Socket s = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.IP);//
//InterNetwork = ipv4 ailesi için
//SocketType.Dgram= UDP için
//SocketType.Stream= TCP için
//ProtocolType.IP = TCP ve UDP de ip yi kullanır
s.Bind(new IPEndPoint(IPAddress.Parse("127.0.0.1"), 600));
//127.0.0.1 = demek localhost
//6000 = demek port demek 0-65000 arasında deger verebılırsın 1024 den buyuk vermen senin için iyidir
s.Listen(9);//dinleme kuyrugu 9 girdik
Socket client = s.Accept();//gelecek olan clienti kabul ettik
NetworkStream ns = new NetworkStream(client);//NetworkStream=client ile haberleşmek için
StreamReader sr = new StreamReader(ns);//StreamReaderclient ile haberleşmek için
Console.WriteLine(sr.ReadToEnd());//gelen ne varsa okuyup ekrana yazdık
sr.Close();
ns.Close();
s.Shutdown(SocketShutdown.Receive);//soketi kapattık veri alış verişini
client.Shutdown(SocketShutdown.Receive);//client ile bağlantıyı kopardık
}
catch (SocketException de)
{
Console.WriteLine("serverda hata var \n" + de.Message);
}
}
private void button1_Click(object sender, EventArgs e)
{
dinle();
}
}
}
2-)client.cs // istersen telnet ile veri gonder istersen buradan
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Net;
using System.Net.Sockets;
namespace server1in_clienti
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
public void dinle()
{
Socket s = new Socket(AddressFamily.InterNetwork, SocketType.Stream,ProtocolType.IP);
s.Connect(IPAddress.Parse("127.0.0.1"), 600);
byte[] buffer = Encoding.ASCII.GetBytes(textBox1.Text);//girilen karakterleri asciye cevir ve byte dizisine at çünkü TCP old
s.Send(buffer);//bufferimizi yani verimizi gonderelim
s.Close();//socketi kapatalım
}
private void button1_Click(object sender, EventArgs e)
{
dinle();
}
}
}