Um pouco de Java e Sockets. (Fonte 02: Enviador)
Publicado por sombriks 03/01/2006
[ Hits: 6.940 ]
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.UnknownHostException;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.io.IOException;
/**
Um exemplo do que fazer com o AbstractTransfer: Enviar dados.
Mais exatamente uma ou outra string, :D
*/
public class Enviador extends AbstractTransfer{
/*
Este ninguém vê, :D
*/
private Socket s;
/**
Informe ao enviador o nome do host (preferência no formato de ip: ex: "10.23.15.56")
e a porta que está sendo escutada por alguém.
*/
public Enviador(String ss,int d){
try{
s=new Socket(ss,d);
}catch(UnknownHostException e1){
out.println("Máquina desconhecida! Pelo menos de ser isso, :D");
e1.printStackTrace();
}catch(IOException e){
out.println("Pau no I/O; muito genérico. Olha a stack aí:");
e.printStackTrace();
}
}
/**
Diga alô mundo, :D
E nada eh tratado aqui, dei throws e empurrei com a barriga, :D
*/
public void send(String ss) throws IOException{
perpareTransfer(s);//lah do AbstractTransfer.
pw.println(ss);//Vamos mandar serializado e via socket a string?
pw.flush();//puxando a descarga...
//s.close();
}
// public static void main(String []a){
// Enviador rc= new Enviador("127.0.0.1",2424);
// rc.send("HaHaHa!!!");
// }
}
Um pouco de Java e Sockets. (Fonte 01: AbstractTransfer)
Nome da máquina e o endereço IP sem socket.
Comunicação através de datagramas
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
Adicionar botão "mostrar área de trabalho" no Zorin OS
Como montar um servidor de backup no linux
Trazendo de volta o Serviços em Segundo Plano no Plasma6
Desenvolvi um programa de hot corner (você colocar o mouse nos cantos)... (0)
Atualizei meu ubuntu e desliguei e ele não inicia corretamente (13)









