PDA

View Full Version : سوال: ارتباط سرور با کلاینت



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();

}

miladheydari
دوشنبه 13 بهمن 1393, 19:42 عصر
ینی در حد یه راهنمای کوچیک کسی نیست؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟ ؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟ ؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟ ؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟ :متفکر::متفکر::متفکر:

ghasemloo
دوشنبه 13 بهمن 1393, 19:44 عصر
چرا داخل یه while نمی ذاریش

miladheydari
دوشنبه 13 بهمن 1393, 19:54 عصر
چرا داخل یه while نمی ذاریش

گذاشتم ولی از اونور کلاینتم به مشکل بر میخوره

ghasemloo
دوشنبه 13 بهمن 1393, 19:59 عصر
یه نگاه بنداز لینک (https://msdn.microsoft.com/en-us/library/6y0e13d3(v=vs.110).aspx)