Pessoal, sou novato nesta onda so Sockets, e tenho um trabalho para fazer usando-o, alguem pode me dar uma explica ai do que significa,
e se não for pedir muito, uma classe com uma implementãção!!!
Como utilizar Sockets
3 Respostas
Oi
Amigão, confere aí
http://www.portaljava.com/home/modules.php?name=Encyclopedia&op=content&tid=278
http://www.portaljava.com/home/modules.php?name=Encyclopedia&op=content&tid=279
http://www.portaljava.com/home/modules.php?name=Encyclopedia&op=content&tid=280
http://www.portaljava.com/home/modules.php?name=Encyclopedia&op=content&tid=281
http://www.portaljava.com/home/modules.php?name=Encyclopedia&op=content&tid=282
T+
A tradução de socket é “tomada” (num diz nada, né?
). Bom socket é o que te permite conectar a uma porta em outra máquina. A porta pode ser aberta por qualquer outro programa ou sistema. Para se ter uma idéia, você pode usar o socket e conectar o seu sistema na internet (usando a porta padrão da internet que é a 80). Para fazer a conexão (como cliente) use a classe Socket do java.
Para fazer o seu aplicativo funcionar como servidor, utilize a classe ServerSocket. Que tem funcionalidades de abrir porta(s) no computador que é usado.
Ambas as classes estão no pacote java.net.
Espero ter ajudado… Qualquer dúvida mais específica, manda aí…
//cliente que escreve uma mensagem no servidor
import <a href="http://java.net">java.net</a>.<em>;
import <a href="http://java.io">java.io</a>.</em>;
import java.lang.*;
public class Client
{
public Client()
{
try
{
ServerSocket sa=new ServerSocket(5158);
Socket s = new Socket(“127.0.0.1”,8189);
// Pega o fluxo de entrada, lê uma string
// In lê byte a byte
InputStream in = s.getInputStream();
// Bin é uma string de caracteres
// Fluxo intermediário
// ‘new InputStreamReader(in)’ converte byte a byte p/ caracter a caracter
BufferedReader bin = new BufferedReader (new InputStreamReader(in));
System.out.println (bin.readLine());
s=sa.accept();
//BufferedReader cin = new BufferedReader(new InputStreamReader(sa.getInputStream()));
PrintWriter out = new PrintWriter(s.getOutputStream(), true);
out.println(“DEUS é FIEL”);
}
catch (java.io.IOException e)
{
e.printStackTrace();
}
}
public static void main (String args[])
{
for(;;)
{
Client client = new Client();
}
}
}
///servidor deve ser colocado em outro aquivo
import java.net.;
import java.io.;
public class Server
{
public Server()
{
//Cria soquete
try
{
s = new ServerSocket(8189);
}
catch (java.io.IOException e)
{
System.out.println(e);
System.exit(1);
}
// OK, agora escuta as conexoes
System.out.println (“Servidor esta executando”);
try
{
while (true)
{
client = s.accept();
//cria um thread separado
//para atender o pedido
c = new Connection(client);
c.start();
}
}
catch (java.io.IOException e)
{
System.out.println(e);
}
}
public class Connection extends Thread
{
public Connection (Socket s)
{
outputLine = s;
}
public void run()
{
try
{
// cria um objeto PrintWriter com esvaziamento automático
// isso permite IO de arquivo comum no soquete
PrintWriter pout = new PrintWriter (outputLine.getOutputStream(), true);
// agora envia uma msg ao cliente
pout.println ("The date and the time is"+ new java.util.Date().toString());
// agora fecha o soquete
outputLine.close();
}
catch (java.io.IOException e)
{
System.out.println(e);
}
}
}
private Socket outputLine;
public static void main (String args[])
{
Server timeOfDayServer = new Server();
}
private ServerSocket s;
private Socket client;
private Connection c;
}
Fique com DEUS amigo
Gustavo Baptista
Fatima do Sul - MS