Może to być bułka z masłem dla każdego doświadczonym deweloperem C#C# asynchroniczny Serwer - jak wysyłać dane do klienta
Co widzisz oto próbka asynchroniczny WEBSERVER
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());
}
}
}
Pobrałem to z w Internecie, aby mieć podstawowy model do pracy.
Zasadniczo potrzebuję uruchomić ten serwer sieciowy jako proces na komputerze. Będzie cały czas słuchać por 8080, a kiedy komputer kliencki wyśle żądanie, serwer ten przetworzy pewne dane i wyśle wynik jako ciąg.
stworzyłem mały projekt z tego kodu (co jest funkcjonalne, jak jest), ale gdy uruchamia linię
client.Send(message);
wszystko otrzymuję błąd w przeglądarce, lub co najwyżej pusta strona
podejrzewam muszę zdefiniować nagłówki HTTP do wysyłania wiadomości (z), ale zostały poszukiwania w internecie na ten temat bez powodzenia
Każdy chętny do pomocy?
Dzięki!
Dzięki za napiwek! Trochę googlowałem, ale nie mogę znaleźć sposobu na wygenerowanie nagłówków HTTP ... czy mógłbyś podać mi link lub przykład oparty na wklejonym przeze mnie kodzie? Jeszcze raz dziękuję! – jprealini
Praca nad nim. Zabawny fakt: skopiowałem twój kod, skompilowałem go i działa :-D – Tokk
Wow, świetnie! Kolejny śmieszny fakt: Miałem metodę podobną do tej w innym projekcie testowym, nad którym pracowałem i udało mi się to zrobić prawie dokładnie tak, jak to opisałeś, i działało PERFECTLY ... Milion dzięki ... Myślę, że nadal nie można przypisać punktu lub podobnych rzeczy, ale powinieneś wiedzieć, że byłbym szczęśliwy mogąc dać ci trochę, gdybym mógł ... Dzięki! – jprealini