Um pouco de Java e Sockets. (Fonte 03: Recebedor)
Publicado por sombriks 03/01/2006
[ Hits: 5.278 ]
Homepage: http://www.google.com/profiles/Sombriks
Pra vc que gostaria de saber como funciona essa história de socket e não
tem (ou não quer) a documentação do java em mãos. Isto foi testado
entre uma m´aquina windos (cmd) e um linux (bash) chamando a classe
Main na linha de comando, :D
Aviso q deu pau com meu firewall no começo, mas depois foi legal.
nota: quando levantei conexão primeiro na máquina windows, deu
conexão refused, :D mas quando eu levantei primeiro no linux, bom, aí
vc conclui pq eu uso linux...
/*
By Sombriks
Este código é de domínio público, Vc pode fazer o que quiser com ele!
E se o seu quarteirão pegar fogo por culpa deste código não me culpe, :D
slackcontato: sombriks@gmail.com
ps: compilado com o java 1.5, mas se vc tirar todos os statics imports
e ajeitar os out.println() pra System.out.println(); talvez funcione, :D
*/
import static java.lang.System.*;
import java.net.Socket;
import java.net.ServerSocket;
import java.net.UnknownHostException;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.io.IOException;
public class Recebedor extends AbstractTransfer{
private ServerSocket ss;
private Socket s;
public Recebedor(int p){
try{
ss=new ServerSocket(p);
// }catch(UnknownHostException e1){
// out.println("Host desconhecido, :D");
// e1.printStackTrace();
}catch(IOException e){
out.print("Segue a Stack: ");
e.printStackTrace();
}
}
public String receive(){
try{
//isto eh pq se ele não for nulo, "s" passa a escutar outra porta.
if(s==null)s=ss.accept();
perpareTransfer(s);
String sss=br.readLine();
//System.out.println(sss);
//s.close();
return sss;
}catch(IOException e){
e.printStackTrace();
}
return null;
}
// public static void main(String []a) throws IOException{
// Recebedor rc= new Recebedor(2424);
// System.out.println(rc.receive());
// }
}
Comunicação através de datagramas
Um pouco de Java e Sockets. (Fonte 02: Enviador)
nome para ip & ip para nome com ping
Cirurgia para acelerar o openSUSE em HD externo via USB
Void Server como Domain Control
Modo Simples de Baixar e Usar o bash-completion
Monitorando o Preço do Bitcoin ou sua Cripto Favorita em Tempo Real com um Widget Flutuante
Como fazer a conversão binária e aplicar as restrições no Linux
Como quebrar a senha de um servidor Linux Debian
Como bloquear pendrive em uma rede Linux
Um autoinstall.yaml para Ubuntu com foco em quem vai fazer máquina virtual
Instalar GRUB sem archinstall no Arch Linux em UEFI Problemático
Fiz uma pergunta no fórum mas não consigo localizar [RESOLVIDO] (21)









