miladheydari
دوشنبه 13 بهمن 1393, 18:59 عصر
با سلام و درود ...کد سمت سرور من یه مشکلی داره ک فقط یکبار اجرا میشه و دیگه از کلاینت داده نمیگره و بسته میشه من میخوام تا وقتی کلاینت بسته نشده سرور به کارش ادامه بده
این کد سرورمه
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Net;
using System.Net.Sockets;
namespace serverSocket2
{
class Program
{
static Socket sktListener;
static void Main(string[] args)
{
// Socket sktListener;
sktListener = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
IPEndPoint ipLocal = new IPEndPoint(IPAddress.Any, 1800);
sktListener.Bind(ipLocal);
sktListener.Listen(100);
sktListener = sktListener.Accept();
byte[] buffer = new byte[500];
sktListener.Receive(buffer);
string res2 = System.Text.Encoding.ASCII.GetString(buffer);
string say = "Server say:";
string res = say + res2;
Console.WriteLine(res);
byte[] buffer2 = System.Text.Encoding.ASCII.GetBytes(res);
sktListener.Send(buffer2);
sktListener.Close();
}
}
}
اینم یه بخشی از کد کلاینتمه ک مربوط ب سروره
public Socket sktClient;
public Form1(Socket sktClientp)
{
InitializeComponent();
sktClient = sktClientp;
}
// StreamWriter sw = new StreamWriter("data.txt");
private void button1_Click(object sender, EventArgs e)
{
if (!string.IsNullOrEmpty(textBox1.Text))
{
richTextBox1.Text += textBox1.Text;
richTextBox1.Text += "\n";
// sw.WriteLine(textBox1.Text+"\n");
string str = textBox1.Text;
byte[] buffer = Encoding.ASCII.GetBytes(str);
sktClient.Send(buffer);
textBox1.Text = " ";
sktClient.Receive(buffer);
string res = System.Text.Encoding.ASCII.GetString(buffer);
richTextBox1.Text +="jigili say:"+res+"\n";
}
sktClient.Close();
}
این کد سرورمه
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Net;
using System.Net.Sockets;
namespace serverSocket2
{
class Program
{
static Socket sktListener;
static void Main(string[] args)
{
// Socket sktListener;
sktListener = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
IPEndPoint ipLocal = new IPEndPoint(IPAddress.Any, 1800);
sktListener.Bind(ipLocal);
sktListener.Listen(100);
sktListener = sktListener.Accept();
byte[] buffer = new byte[500];
sktListener.Receive(buffer);
string res2 = System.Text.Encoding.ASCII.GetString(buffer);
string say = "Server say:";
string res = say + res2;
Console.WriteLine(res);
byte[] buffer2 = System.Text.Encoding.ASCII.GetBytes(res);
sktListener.Send(buffer2);
sktListener.Close();
}
}
}
اینم یه بخشی از کد کلاینتمه ک مربوط ب سروره
public Socket sktClient;
public Form1(Socket sktClientp)
{
InitializeComponent();
sktClient = sktClientp;
}
// StreamWriter sw = new StreamWriter("data.txt");
private void button1_Click(object sender, EventArgs e)
{
if (!string.IsNullOrEmpty(textBox1.Text))
{
richTextBox1.Text += textBox1.Text;
richTextBox1.Text += "\n";
// sw.WriteLine(textBox1.Text+"\n");
string str = textBox1.Text;
byte[] buffer = Encoding.ASCII.GetBytes(str);
sktClient.Send(buffer);
textBox1.Text = " ";
sktClient.Receive(buffer);
string res = System.Text.Encoding.ASCII.GetString(buffer);
richTextBox1.Text +="jigili say:"+res+"\n";
}
sktClient.Close();
}