sobhan75
جمعه 15 آبان 1394, 12: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)
{
}
}
}
سورس برنامه کلاینت
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)
{
}
}
}