Sunucu ve istemci arasında basit bir dize gönderecek ve alacak bir uygulama oluşturmak için bir ev ödevim var. Bağlantının nasıl kurulacağını biliyorum, ancak dize nasıl gönderileceğini ve alınacağını bilmiyorum. Bu benim kodudur:Sunucu İstemci basit bir metin gönderiyor/alıyor
public partial class Form1 : Form
{
private Thread n_server;
private Thread n_client;
private Thread n_send_server;
private TcpClient client;
private TcpListener listener;
private int port = 2222;
private string IP = " ";
private Socket socket;
public Form1()
{
InitializeComponent();
}
private void exitToolStripMenuItem_Click(object sender, EventArgs e)
{
Application.Exit();
}
public void Server()
{
listener = new TcpListener(IPAddress.Any, port);
listener.Start();
try
{
socket = listener.AcceptSocket();
if (socket.Connected)
{
textBox2.Invoke((MethodInvoker)delegate { textBox2.Text = "Client : " + socket.RemoteEndPoint.ToString(); });
}
}
catch
{
}
}
public void Client()
{
IP = "localhost";
client = new TcpClient();
try
{
client.Connect(IP, port);
}
catch (Exception ex)
{
MessageBox.Show("Error : " + ex.Message);
}
if (client.Connected)
{
textBox3.Invoke((MethodInvoker)delegate { textBox3.Text = "Connected..."; });
}
}
private void button1_Click(object sender, EventArgs e)
{
n_server = new Thread(new ThreadStart(Server));
n_server.IsBackground = true;
n_server.Start();
textBox1.Text = "Server up";
}
private void button2_Click(object sender, EventArgs e)
{
n_client = new Thread(new ThreadStart(Client));
n_client.IsBackground = true;
n_client.Start();
}
private void send()
{
// I want to use this method for both buttons : "send button" on server side and "send button"
// on client side. First I read text from textbox2 on server side or textbox3
// on client side than accept and write the string to label2(s) or label3(c).
//
}
private void button3_Click(object sender, EventArgs e)
{
n_send_server = new Thread(new ThreadStart(send));
n_send_server.IsBackground = true;
n_send_server.Start();
}
}
bu kod çalışan ya test edilir ..? – SANDEEP
Merhaba @SANDEEP kod bir takılar gibi çalışır. Bunu göndermeden önce test ettim. –
Neden sunucudan gönderilen ilk iletiyi okuyabilirim? Bir dahaki sefere _nwStream.Read_ dediğimde herhangi bir değer döndürmez. Hata ayıklama noktasını belirlediğimde, sonraki satıra gidemiyorum, istisna atılmaz. – Hp93