الســـلام عليكم
لدي كود في الفيجوال ستديو ســـي شارب ,حيت يقوم هدا الكود بتأسبس اتصال بين الــكلايـنت و الـسـيرفـر يإستــخـدام بـروتــوكــول يـــو دي بــي.
لكن هناك خــطأ عند تــشـغـيل الــبرنامــج في رقـــم الـــبورت
رقم البورت نابــع للســـيرفر الي يطلعلي بعد التنفيد مش نفس رقـ الـبورت الــي انا كاتبه فــي البـــرنـــامج
يا لريــت تنصحوني بمواقع بيها كودات او كتب او اي حاجة ليها علاقة بـــالمــوضوع
.ارجــــو المـــســـاعدة
شكـــــــرا
جزاكم الله الف خير ......
الكود لـــــ
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();


}
}
}