Официальный сайт студ.городка НГТУ
Программирование и БД » ищу мануал по работе с сокетами в C# 

#1  09.01.06 17:27

ZiF
Профиль

ищу мануал по работе с сокетами в C#

ищу мануал по работе с сокетами в C#

поделитесь ссылками =)

Offline

#2  10.01.06 00:12

Re: ищу мануал по работе с сокетами в C#

MSDN ? в 2005й студии есть все. и даже примеры :)

Offline

#3  10.01.06 00:18

Re: ищу мануал по работе с сокетами в C#

Код: c#:

using System;
using System.Text;
using System.IO;
using System.Net;
using System.Net.Sockets;
 
public class GetSocket
{
    private static Socket ConnectSocket(string server, int port)
    {
        Socket s = null;
        IPHostEntry hostEntry = null;
 
        // Get host related information.
        hostEntry = Dns.GetHostEntry(server);
 
        // Loop through the AddressList to obtain the supported AddressFamily. This is to avoid
        // an exception that occurs when the host IP Address is not compatible with the address family
        // (typical in the IPv6 case).
        foreach(IPAddress address in hostEntry.AddressList)
        {
            IPEndPoint ipe = new IPEndPoint(address, port);
            Socket tempSocket = 
                new Socket(ipe.AddressFamily, SocketType.Stream, ProtocolType.Tcp);
 
            tempSocket.Connect(ipe);
 
            if(tempSocket.Connected)
            {
                s = tempSocket;
                break;
            }
            else
            {
                continue;
            }
        }
        return s;
    }
 
    // This method requests the home page content for the specified server.
    private static string SocketSendReceive(string server, int port) 
    {
        string request = "GET / HTTP/1.1\r\nHost: " + server + 
            "\r\nConnection: Close\r\n\r\n";
        Byte[] bytesSent = Encoding.ASCII.GetBytes(request);
        Byte[] bytesReceived = new Byte[256];
 
        // Create a socket connection with the specified server and port.
        Socket s = ConnectSocket(server, port);
 
        if (s == null)
            return ("Connection failed");
 
        // Send request to the server.
        s.Send(bytesSent, bytesSent.Length, 0);  
 
        // Receive the server home page content.
        int bytes = 0;
        string page = "Default HTML page on " + server + ":\r\n";
 
        // The following will block until te page is transmitted.
        do {
            bytes = s.Receive(bytesReceived, bytesReceived.Length, 0);
            page = page + Encoding.ASCII.GetString(bytesReceived, 0, bytes);
        }
        while (bytes > 0);
 
        return page;
    }
 
    public static void Main(string[] args) 
    {
        string host;
        int port = 80;
 
        if (args.Length == 0)
            // If no server name is passed as argument to this program, 
            // use the current host name as the default.
            host = Dns.GetHostName();
        else
            host = args[0];
 
        string result = SocketSendReceive(host, port); 
        Console.WriteLine(result);
    }
}
 
 
 

Offline

#4  10.01.06 02:08

ZiF
Профиль

Re: ищу мануал по работе с сокетами в C#

ну SDK у самого есть, тока по 2003у .NETу. там рылся, че-т не нашел...
по инету пошукал, нашел уже что нужно

Offline

#5  10.01.06 19:59

Re: ищу мануал по работе с сокетами в C#

берем локальный мсдн, жмем индекс. Пишем Socket class получаем вагон ссылок, например эти:
ms-help://MS.MSDNQTR.2004JUL.1033/cpguide/html/cpconUsingNon-blockingClientSocket.htm
ms-help://MS.MSDNQTR.2004JUL.1033/cpguide/html/cpconUsingNon-blockingClientSocket.htm
ms-help://MS.MSDNQTR.2004JUL.1033/cpguide/html/cpconUsingBlockingClientSocket.htm
ms-help://MS.MSDNQTR.2004JUL.1033/cpguide/html/cpconUsingBlockingServerSocket.htm

Offline

Программирование и БД » ищу мануал по работе с сокетами в C# 

ФутЕр:)

© Hostel Web Group, 2002-2025.   Сообщить об ошибке

Сгенерировано за 0.116 сек.
Выполнено 14 запросов.