نمایش نتایج 1 تا 40 از 57

نام تاپیک: TCP/IP Socket Programming in Framework.Net 2.0

Hybrid View

پست قبلی پست قبلی   پست بعدی پست بعدی
  1. #1
    کاربر دائمی آواتار __H2__
    تاریخ عضویت
    اسفند 1385
    محل زندگی
    یک جایی بین Framework و نارمک!
    پست
    1,059

    Post System.Net.Dns

    سلام
    حقیقتش نمیخواستم این توضیح را اضافه کنم ولی گفتم بحث را یک کم کاملتر کنم....
    =====
    اغلب مواقع، در کدها و برنامه ها به جای آنکه IP را مستقیم از کاربر بگیریم از نام استفاده میکنیم.
    یک رایانه یا سرور در شبکه میتوانید نام هم داشته باشد و همانطور که قبلاً هم گفتیم، هر رایانه میتواند چندین IP داشته باشد.

    کلاسس Dns وظیفه ترجمه نام به IP را بر عهده دارد، یعنی ما وقتی به شبکه وصل هستیم نام یک رایانه در شبکه را میدهیم و IP هایش را تحویل میگیریم.
    مثلاً اگر به شبکه اینترنت وصل باشیم میتوانیم نام www.microsoft.com را بدهیم و IP هایش را به دست آوریم.

    با این کلاسس و کمی کد اضافه برنامه میتواند علاوه بر IP با نام هم تغذیه شود و کار کند و خودش خودکار از نام به IP برسد.

    مثلاً کد زیر سعی میکند به همه IP های متناظر یک نام وصل شود و به اولین IP که کار کرد وصل شود و جستجو را تمام کند.

    'VB.Net
    Dim port As Integer = 80
    Dim socket As System.Net.Sockets.Socket = Nothing

    For Each ip As System.Net.IPAddress In System.Net.Dns.GetHostEntry("www.microsoft.com").A ddressList
    Try
    socket = _
    New System.Net.Sockets.Socket( _
    ip.AddressFamily, _
    System.Net.Sockets.SocketType.Stream, _
    System.Net.Sockets.ProtocolType.Tcp)

    socket.Connect(New System.Net.IPEndPoint(ip, port))

    Exit For
    Catch
    socket = Nothing
    End Try
    Next

    If (socket IsNot Nothing) Then
    '...
    '...
    socket.Close()
    End If



    //C#‎.Net
    int port = 80;
    System.Net.Sockets.Socket socket = null;

    foreach(System.Net.IPAddress ip in System.Net.Dns.GetHostEntry("www.microsoft.com").A ddressList)
    {
    try
    {
    socket =
    new System.Net.Sockets.Socket(
    ip.AddressFamily,
    System.Net.Sockets.SocketType.Stream,
    System.Net.Sockets.ProtocolType.Tcp);

    socket.Connect(new System.Net.IPEndPoint(ip, port));
    break;
    }
    catch
    {
    socket = null;
    }
    }


    if (socket != null)
    {
    //...
    //...
    socket.Close();
    }


    خود دوستان میتوانند هر کجا خواستند، IP را به طریقه فوق به دست اورند.
    آخرین ویرایش به وسیله __H2__ : دوشنبه 22 مهر 1387 در 00:53 صبح دلیل: حذف یک خط توضیح اضافه!

برچسب های این تاپیک

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •