Esempio di socket client sincronoSynchronous Client Socket Example

Il programma di esempio seguente crea un client che si connette a un server.The following example program creates a client that connects to a server. Il client viene compilato con un socket sincrono, quindi l'esecuzione dell'applicazione client viene sospesa fino a quando il server non restituisce una risposta.The client is built with a synchronous socket, so execution of the client application is suspended until the server returns a response. L'applicazione invia una stringa al server e quindi visualizza la stringa restituita dal server nella console.The application sends a string to the server and then displays the string returned by the server on the console.

Imports System  
Imports System.Net  
Imports System.Net.Sockets  
Imports System.Text  

Public Class SynchronousSocketClient  

    Public Shared Sub Main()  
        ' Data buffer for incoming data.  
        Dim bytes(1024) As Byte  

        ' Connect to a remote device.  

        ' Establish the remote endpoint for the socket.  
        ' This example uses port 11000 on the local computer.  
        Dim ipHostInfo As IPHostEntry = Dns.GetHostEntry(Dns.GetHostName())  
        Dim ipAddress As IPAddress = ipHostInfo.AddressList(0)  
        Dim remoteEP As New IPEndPoint(ipAddress, 11000)  

        ' Create a TCP/IP socket.  
        Dim sender As New Socket(ipAddress.AddressFamily, _  
            SocketType.Stream, ProtocolType.Tcp)  

        ' Connect the socket to the remote endpoint.  
        sender.Connect(remoteEP)  

        Console.WriteLine("Socket connected to {0}", _  
            sender.RemoteEndPoint.ToString())  

        ' Encode the data string into a byte array.  
        Dim msg As Byte() = _  
            Encoding.ASCII.GetBytes("This is a test<EOF>")  

        ' Send the data through the socket.  
        Dim bytesSent As Integer = sender.Send(msg)  

        ' Receive the response from the remote device.  
        Dim bytesRec As Integer = sender.Receive(bytes)  
        Console.WriteLine("Echoed test = {0}", _  
            Encoding.ASCII.GetString(bytes, 0, bytesRec))  

        ' Release the socket.  
        sender.Shutdown(SocketShutdown.Both)  
        sender.Close()  
    End Sub  

End Class 'SynchronousSocketClient  
using System;  
using System.Net;  
using System.Net.Sockets;  
using System.Text;  

public class SynchronousSocketClient {  

    public static void StartClient() {  
        // Data buffer for incoming data.  
        byte[] bytes = new byte[1024];  

        // Connect to a remote device.  
        try {  
            // Establish the remote endpoint for the socket.  
            // This example uses port 11000 on the local computer.  
            IPHostEntry ipHostInfo = Dns.GetHostEntry(Dns.GetHostName());  
            IPAddress ipAddress = ipHostInfo.AddressList[0];  
            IPEndPoint remoteEP = new IPEndPoint(ipAddress,11000);  

            // Create a TCP/IP  socket.  
            Socket sender = new Socket(ipAddress.AddressFamily,   
                SocketType.Stream, ProtocolType.Tcp );  

            // Connect the socket to the remote endpoint. Catch any errors.  
            try {  
                sender.Connect(remoteEP);  

                Console.WriteLine("Socket connected to {0}",  
                    sender.RemoteEndPoint.ToString());  

                // Encode the data string into a byte array.  
                byte[] msg = Encoding.ASCII.GetBytes("This is a test<EOF>");  

                // Send the data through the socket.  
                int bytesSent = sender.Send(msg);  

                // Receive the response from the remote device.  
                int bytesRec = sender.Receive(bytes);  
                Console.WriteLine("Echoed test = {0}",  
                    Encoding.ASCII.GetString(bytes,0,bytesRec));  

                // Release the socket.  
                sender.Shutdown(SocketShutdown.Both);  
                sender.Close();  

            } catch (ArgumentNullException ane) {  
                Console.WriteLine("ArgumentNullException : {0}",ane.ToString());  
            } catch (SocketException se) {  
                Console.WriteLine("SocketException : {0}",se.ToString());  
            } catch (Exception e) {  
                Console.WriteLine("Unexpected exception : {0}", e.ToString());  
            }  

        } catch (Exception e) {  
            Console.WriteLine( e.ToString());  
        }  
    }  

    public static int Main(String[] args) {  
        StartClient();  
        return 0;  
    }  
}  

Vedere ancheSee Also

Esempio di socket server sincronoSynchronous Server Socket Example
Uso di un socket client sincronoUsing a Synchronous Client Socket
Esempi di codice socketSocket Code Examples