Programación de zócalos
Utilice System. Net . Sockets
Static void Main(string[] args)//Segmento del servidor
{
int port = 2000
string host = " 127 . 0 . 0 . 1 "
/**/
///Crear punto final
dirección IP ip = dirección. parse(host); //Convierte la cadena de dirección IP en una instancia del tipo de dirección IP.
IPEndPoint ipe = new IPEndPoint(ip, port); //Inicializa una nueva instancia de la clase de punto final IP con el puerto y la ip especificados.
/**/
///Crea un socket y comienza a escuchar.
Socket s = new Socket(AddressFamily. Internet, SocketType. Stream, ProtocolType. TCP); // Crea un objeto de socket. Si utiliza el protocolo udp, utilice un socket de tipo SocketType.Dgram.
South bind(ipe); //Vincular objeto de punto final (puerto 2000 y dirección IP)
South listening(0); //Comenzar a escuchar
console. . WriteLine("Esperando conexión del cliente");
/**/
///Acepte la conexión del cliente, establezca un nuevo socket para esta conexión y acepte la información.
Temperatura del socket = s.Accept(); //Crea un nuevo socket para nuevas conexiones.
Consola. WriteLine("Establecer conexión");
cadena recvStr =
byte[] recvBytes =nuevos bytes[1024];
int bytes;
int bytes;
p>bytes = temperatura. recibir(ReceiveBytes, RecibirBytes. Longitud, 0); //Recibir información del cliente
recvStr += codificación. ASCII.GetString(recvBytes, 0, bytes);
/**/
///Devuelve información al cliente.
Consola. WriteLine("El servidor recibe el mensaje: {0} ", recvStr); //Muestra información del cliente.
string sendStr = "¡ok! ¡El cliente envió el mensaje exitosamente!";
byte[] bs = codificación. ASCII . GetBytes(sendStr);
Enviar (bs, bs. longitud, 0) cuando...; //Devolver información al cliente.
Cuando...cierre();
Cierre sur();
Consola. ReadLine();
}
Static void Main(string[] args)//Cliente
{
Probar
p>{
int puerto = 2000
cadena host = " 127 . 0 . 0 . 1 "
/**/<; / p>
///Crear punto final
dirección ip ip = dirección. Analizar (host);
//dirección IP IPP = nueva dirección IP(" 127 . 0 . 0 . 1 ");
IPEndPoint ipe = nueva IPEndPoint(ip, puerto) ; //Convierte ip y puerto a instancia de IPEndpoint.
/**/
///Crea un socket y conéctate al servidor.
Socket c = nuevo socket(AddressFamily.
Internet, tipo de enchufe. Transmisión, tipo de protocolo. TCP); //Crear socket
Consola. WriteLine("Connect...");
c.Connect (ipe); //Conectarse al servidor
/**/
// /Al servidor Enviar mensaje
cadena sendStr = "¡hola! Esta es una prueba de socket";
byte[] bs = codificación. ASCII . GetBytes(sendStr); //Codificar cadena en bytes
Consola. WriteLine("Enviar mensaje");
c. Enviar (bs, bs. longitud, 0 //Enviar mensaje
/**/
); ///Aceptar la información devuelta por el servidor
string recvStr =
byte[] recvBytes =new bytes[1024];
int bytes; p>
int bytes;
p>bytes = c.Receive(recvBytes, recvBytes. Longitud, 0); //Recibir la información devuelta por el servidor.
recvStr += codificación. ASCII.GetString(recvBytes, 0, bytes);
Consola. WriteLine("El cliente recibe el mensaje: {0} ", recvStr); //Muestra la información devuelta por el servidor
/**/
///Asegúrese de cerrar el El enchufe después de su uso recoge palabras.
c.close();
}
catch (ArgumentNullException e)
{
Consola. WriteLine(" argumentNullException:{ 0 } ", e);
}
catch (SocketException e)
{
Consola. WriteLine("SocketException:{0} ", e);
}
Consola. WriteLine("Presione Enter para salir");
}