سوال: در مورد برنامه چت ساده در سی شارپ ، به کمک تون نیاز دارم

ساخت وبلاگ
سلام و درود به همه دوستان گرامی
در مورد یک برنامه سی شارپ به کمک تون نیاز دارم
از ما خواسته شده برنامه ای در ویژوال استودیو بنویسیم برای چت ساده بین دو کامپیوتر
یکی کلاینت باشه و یکی هم سرور و بتونن با هم چت کنن
یه برنامه الگو و پیش فرض هم بهمون دادن که برنامه رو از روی اون بنویسیم :

برنامه سمت سرور :

  1. ﺳﺎﺧﺖ ﻳﻚ ﺳﻮکت
  2. ﻣﻘﻴﺪ ﻛﺮدن ﺳﻮﻛﺖ ﺑﻪ یک IPEndPoint ﻣﺤلی
  3. ﻗﺮار دادن ﺳﻮﻛﺖ در ﺣﺎﻟﺖ ﺷﻨود
  4. درﻳﺎﻓﺖ ﺗﻘﺎﺿﺎ ﺑﺮاي ارﺗﺒﺎط ﺑﺎ ﺳﻮکت

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Net;
using System.Net.Sockets;
namespace Server
{
class Program
{
static void Main(string[] args)
{
int recv;
byte[] data = new byte[2048];
IPEndPoint ipep = new IPEndPoint(IPAddress.Any,
9050);
Socket newsock = new
Socket(AddressFamily.InterNetwork, SocketType.Stream,
ProtocolType.Tcp);
newsock.Bind(ipep);
newsock.Listen(10);
Console.WriteLine("Waiting for a client...");
Socket client = newsock.Accept();
IPEndPoint clientep = (IPEndPoint)client.RemoteEndPoint;
Console.WriteLine("Connected with {0} at port
{1}", clientep.Address, clientep.Port);
string welcome = "Welcome to my test server";
data = Encoding.ASCII.GetBytes(welcome);
client.Send(data, data.Length, SocketFlags.None);
while (true)
{
data = new byte[1024];
recv = client.Receive(data);
if (recv == 0)
break;
Console.WriteLine(Encoding.ASCII.GetString(data, 0,
recv));
client.Send(data, recv, SocketFlags.None);
}
Console.WriteLine("Disconnected from
{0}",clientep.Address);
client.Close();
newsock.Close();
}
}
}



برنامه سمت کلاینت :


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Net;
using System.Net.Sockets;
namespace Client
{
class Program
{
static void Main(string[] args)
{
byte[] data = new byte[2048];
string input, stringData;
IPEndPoint ipep = new IPEndPoint(
IPAddress.Parse("127.0.0.1"), 9050);
Socket server = new
Socket(AddressFamily.InterNetwork,SocketType.Strea m,
ProtocolType.Tcp);
try
{
server.Connect(ipep);
}
catch (SocketException e)
{
Console.WriteLine("Unable to connect to server.");
Console.WriteLine(e.ToString());
return;
}
int recv = server.Receive(data);
stringData = Encoding.ASCII.GetString(data, 0, recv);
Console.WriteLine(stringData);
while (true)
{
input = Console.ReadLine();
if (input == "exit")
break;
server.Send(Encoding.ASCII.GetBytes(input));
data = new byte[1024];
recv = server.Receive(data);
stringData = Encoding.ASCII.GetString(data, 0, recv);
Console.WriteLine(stringData);
}
Console.WriteLine("Disconnecting from server...");
server.Shutdown(SocketShutdown.Both);
server.Close();
}
}
}





باهاش کار کردم ،‌ اما یه کم گیج شدم . نمی دونم چه جوری باید این برنامه رو نوشت. ممنون میشم از دوستانی که بتونن راهنماییم کنن . ( اگه امکانش هست ، توضیحات تون بر اساس محیط console باشه ؛ یعنی وقتی برنامه رو کامپایل می کنم ، بتونم در همون محیط کامپایل چت کنم و نیازی به طراحی فرم نداشته باشه )
خیلی خیلی ممنونم

...

برنامه نویس...
ما را در سایت برنامه نویس دنبال می کنید

برچسب : نویسنده : محمد رضا جوادیان programers بازدید : 178 تاريخ : سه شنبه 26 ارديبهشت 1396 ساعت: 3:41