PDA

View Full Version : سوال: نام گذاری کلاینت در سوکت سی شارپ



sobhan75
جمعه 15 آبان 1394, 11:14 صبح
سلام من یک برنامه سوکت با سی شارپ نوشتم می خواستم بپرسم چجوری میشه برای کلاینت ها اسم تعیین کنم ؟
سورس برنامه کلاینت
136515

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.IO;
using System.Net;
using System.Net.Sockets;
using System.Threading;


namespace Client_Side
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}


private void Form1_Load(object sender, EventArgs e)
{


}


private void bConnect_Click(object sender, EventArgs e)
{
Thread mThread = new Thread(new ThreadStart(ConnectAsClient));
mThread.Start();
bConnect.Enabled = false;
textBox3.Enabled = false;
textBox4.Enabled = false;
}
private void ConnectAsClient()
{
TcpClient client = new TcpClient();
client.Connect(IPAddress.Parse(textBox3.Text), 5004);

// client.Connect(IPAddress.Parse("192.168.1.101"), 5004);

UpdateUI("Connected !!! From Client");


//NetworkStream stream = client.GetStream();
//string s = "Salam Man Client Hastam !!!";
//byte[] message=Encoding.UTF8.GetBytes(s);
//stream.Write(message, 0, message.Length);
//UpdateUI("Message Send !!!");
//stream.Close();
//client.Close();
}


private void UpdateUI(string s)
{
Func<int> del = delegate()
{
textBox1.AppendText(s + System.Environment.NewLine);
return 0;
};
Invoke(del);
}


private void bSend_Click(object sender, EventArgs e)
{
TcpClient client = new TcpClient();
client.Connect(IPAddress.Parse(textBox3.Text), 5004);


NetworkStream stream = client.GetStream();
string s = textBox2.Text;
byte[] message = Encoding.UTF8.GetBytes(s);
stream.Write(message, 0, message.Length);
UpdateUI("Me : " + textBox2.Text);
textBox2.Text = "";
stream.Close();
client.Close();


}


}
}

سورس برنامه سرور
136516

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.Threading;
using System.Net;
using System.Net.Sockets;
using System.IO;


namespace ServerSide
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}


private void Form1_Load(object sender, EventArgs e)
{


}


private void bStartServer_Click(object sender, EventArgs e)
{
Thread TcpRunServerThread = new Thread(new ThreadStart(TcpServerRun));
TcpRunServerThread.Start();
}
private void TcpServerRun()
{
TcpListener tcplistener = new TcpListener(IPAddress.Any, 5004);
tcplistener.Start();
UpdateUI("Listening ...");


while (true)
{
TcpClient client = tcplistener.AcceptTcpClient();
UpdateUI("Connected!!!");
Thread TcpHandlerThread = new Thread(new ParameterizedThreadStart(TcpHandler));
TcpHandlerThread.Start(client);
}
}
private void TcpHandler(object client)
{
TcpClient mclient = (TcpClient)client;
NetworkStream stream = mclient.GetStream();
byte[] message = new byte[1024];
stream.Read(message, 0, message.Length);
UpdateUI("Client = " + Encoding.UTF8.GetString(message));


stream.Close();
mclient.Close();


}
private void UpdateUI(string s)
{
Func<int> del = delegate()
{
textBox1.AppendText(s + System.Environment.NewLine);
return 0;
};
Invoke(del);
}


private void bSend_Click(object sender, EventArgs e)
{

}


private void button1_Click(object sender, EventArgs e)
{

}
}


}

MortezaZandi
دوشنبه 18 آبان 1394, 23:40 عصر
سلام، بفرما:

System.Net.Dns.GetHostEntry("192.168.100.15").HostName