Esto podría ser un juego de niños para cualquier experimentado desarrollador de C#C# asíncrono servidor web - cómo enviar datos al cliente
Lo que se ve aquí es un servidor web asincrónico muestra
using System;
using System.Text;
using System.Net;
using System.Net.Sockets;
using System.Threading;
namespace SimpleServer
{
class Program
{
public static void ReceiveCallback(IAsyncResult AsyncCall)
{
System.Text.ASCIIEncoding encoding = new System.Text.ASCIIEncoding();
Byte[] message = encoding.GetBytes("I am a little busy, come back later!");
Socket listener = (Socket)AsyncCall.AsyncState;
Socket client = listener.EndAccept(AsyncCall);
Console.WriteLine("Received Connection from {0}", client.RemoteEndPoint);
client.Send(message);
Console.WriteLine("Ending the connection");
client.Close();
listener.BeginAccept(new AsyncCallback(ReceiveCallback), listener);
}
public static void Main()
{
try
{
IPAddress localAddress = IPAddress.Parse("127.0.0.1");
Socket listenSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
IPEndPoint ipEndpoint = new IPEndPoint(localAddress, 8080);
listenSocket.Bind(ipEndpoint);
listenSocket.Listen(1);
listenSocket.BeginAccept(new AsyncCallback(ReceiveCallback), listenSocket);
while (true)
{
Console.WriteLine("Busy Waiting....");
Thread.Sleep(2000);
}
}
catch (Exception e)
{
Console.WriteLine("Caught Exception: {0}", e.ToString());
}
}
}
he descargado esto desde el web, para tener un modelo básico para trabajar.
Básicamente lo que tengo que hacer es ejecutar este servidor web como un proceso en una computadora. Escuchará por 8080 todo el tiempo, y cuando una computadora cliente envíe una solicitud, este servidor procesará algunos datos y enviará un resultado como una cadena.
he creado un pequeño proyecto con el código (que es funcional como lo es), pero cuando se ejecuta la línea de
client.Send(message);
único que consigue es un error en el navegador, o como máximo una página en blanco
sospecho que necesito para definir las cabeceras HTTP para enviar con el (mensaje), pero he estado buscando en la web en este sin suerte
Cualquier persona dispuesta a ayudar?
Gracias!
¡Gracias por la sugerencia! He estado buscando en Google un poco, pero no puedo encontrar una forma de generar los encabezados HTTP ... ¿podría darme un enlace o un ejemplo basado en el código que pegué? ¡Gracias de nuevo! – jprealini
trabajando en ello. Dato curioso: copié tu código, lo compilé y funciona :-D – Tokk
¡Guau, genial! Otro hecho curioso: tenía un método similar a este en otro proyecto de prueba en el que estaba trabajando, y logré hacer esto casi exactamente como lo describe aquí, y funcionó PERFECTAMENTE ... Un millón de gracias ... Creo que Todavía no puedo asignar un punto o cosas así, pero debes saber que me gustaría darte un poco si pudiera ... ¡Gracias! – jprealini