I have a simple Java TCP Server application that listens for connections and one a client connects it sends a string. If I run the server and make a GET request from a browser the string sent by the server is displayed. This is great, but, How did it work without HTTP Headers? Is the OutputStream class prepending HTTP Headers?
When I write the same code in C#, it doesnt work without Headers, the browsers doesnt display the sent string if there no HTTP headers prepended. The C# behavoir makes sense, so, whats happening with my java code?
Java code
ServerSocket server = new ServerSocket(8080);
System.out.println("Servidor iniciado.\naguardando a conexao de um cliente...");
Socket clientSocket = server.accept();
System.out.println("Um cliente conectou-se ao nosso servidor Socket TCP");
OutputStream streamSaida = null;
//Obter a referencia do stream de saida do cliente conectado.
streamSaida = clientSocket.getOutputStream();
String bemVindo = "Bem vindo ao nosso primeiro servidor";
streamSaida.write(bemVindo.getBytes());
System.out.println("Desligando o servidor");
clientSocket.close();
server.close();
C# code
System.Net.Sockets.TcpListener server = new System.Net.Sockets.TcpListener(System.Net.IPAddress.Loopback, 8080);
server.Start();
Console.WriteLine("Servidor TCP iniciado");
Console.WriteLine("Aguardando conexao de um cliente...");
Socket client = server.AcceptSocket();
Console.WriteLine("Um cliente conectou-se ao servidor");
String msg = "Bem-vindo ao nosso servidor TCP C#"; //Mensagem de boas vindas
NetworkStream streamCliente = new NetworkStream(client);
System.IO.StreamWriter writer = new System.IO.StreamWriter(streamCliente);
writer.Write(msg);
writer.Flush();
from Newest questions tagged java - Stack Overflow http://ift.tt/1MgkImO
via IFTTT
Aucun commentaire:
Enregistrer un commentaire