الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

مساعدة client server in # c

بدأه mohammed_geddeda في 14 فبراير 2010 · 0 رد · 475 مشاهدة · في Microsoft Visual C#.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1

الســـلام عليكم

لدي كود في الفيجوال ستديو ســـي شارب ,حيت يقوم هدا الكود بتأسبس اتصال بين الــكلايـنت و الـسـيرفـر يإستــخـدام بـروتــوكــول يـــو دي بــي.

لكن هناك خــطأ عند تــشـغـيل الــبرنامــج في رقـــم الـــبورت .ارجــــو المـــســـاعدة

شكـــــــرا

الكود لـــــ

Client code

using System;

using System.Collections.Generic;

using System.Text;

using System.Net;

using System.Net.Sockets;

namespace UDP

{ class Program

{ static void Main(string[] args)

{

byte[] data = new byte[1024];

IPEndPoint ipep = new IPEndPoint(

IPAddress.Parse("127.0.0.1"), 9050);

Socket server = new Socket(AddressFamily.InterNetwork,

SocketType.Dgram, ProtocolType.Udp);

string welcome = "Hello, are you there?";

data = Encoding.ASCII.GetBytes(welcome);

server.SendTo(data, data.Length, SocketFlags.None, ipep);

IPEndPoint sender = new IPEndPoint(IPAddress.Any, 0);

EndPoint tmpRemote = (EndPoint)sender;

data = new byte[1024];

int recv = server.ReceiveFrom(data, ref tmpRemote);

Console.WriteLine("Message received from {0}:", tmpRemote.ToString());

Console.WriteLine(Encoding.ASCII.GetString(data, 0, recv));

server.SendTo(Encoding.ASCII.GetBytes("message 1"), tmpRemote);

server.SendTo(Encoding.ASCII.GetBytes("message 2"), tmpRemote);

server.SendTo(Encoding.ASCII.GetBytes("message 3"), tmpRemote);

server.SendTo(Encoding.ASCII.GetBytes("message 4"), tmpRemote);

server.SendTo(Encoding.ASCII.GetBytes("message 5"), tmpRemote);

Console.WriteLine("Stopping client");

server.Close();

Console.ReadLine();

}

}

For server

using System;

using System.Collections.Generic;

using System.Text;

using System.Net;

using System.Net.Sockets;

namespace UPDServer

{

class Program

{

static void Main(string[] args)

{

int recv;

byte[] data = new byte[1024];

IPEndPoint ipep = new IPEndPoint(IPAddress.Any, 9050);

Socket newsock = new Socket(AddressFamily.InterNetwork,

SocketType.Dgram, ProtocolType.Udp);

newsock.Bind(ipep);

Console.WriteLine("Waiting for a client...");

IPEndPoint sender = new IPEndPoint(IPAddress.Any, 0);

EndPoint tmpRemote = (EndPoint)(sender);

recv = newsock.ReceiveFrom(data, ref tmpRemote);

Console.WriteLine("Message received from {0}:", tmpRemote.ToString());

Console.WriteLine(Encoding.ASCII.GetString(data, 0, recv));

string welcome = "Welcome to my test server";

data = Encoding.ASCII.GetBytes(welcome);

newsock.SendTo(data, data.Length, SocketFlags.None, tmpRemote);

for(int i = 0; i < 5; i++)

{

data = new byte[1024];

recv = newsock.ReceiveFrom(data, ref tmpRemote);

Console.WriteLine(Encoding.ASCII.GetString(data, 0, recv));

}

newsock.Close();

Console.ReadLine();

}

}

}

مواضيع مشابهة