Um pouco de Java e Sockets. (Fonte 02: Enviador)
Publicado por sombriks 03/01/2006
[ Hits: 6.901 ]
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!!!");
// }
}
Comunicação através de datagramas
Um pouco de Java e Sockets. (Fonte 03: Recebedor)
Nome da máquina e o endereço IP sem socket.
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Linux em 2025: Segurança prática para o usuário
Desktop Linux em alta: novos apps, distros e privacidade marcam o sábado
IA chega ao desktop e impulsiona produtividade no mundo Linux
Novos apps de produtividade, avanços em IA e distros em ebulição agitam o universo Linux
Como instalar o repositório do DBeaver no Ubuntu
Como instalar o Plex Media Server no Ubuntu
Digitando underscore com "shift" + "barra de espaços"
Como ativar a lixeira e recuperar aquivos deletados em um servidor Linux
Como mudar o nome de dispositivos Bluetooth via linha de comando
O programa assinador digital (0)
dpkg: erro: gatilho de arquivo duplicado chamado pelo arquivo de nome (6)
Instalação não está resolvendo as dependencias (2)
Captação de áudio no zorin linux começa a diminuir com o tempo (5)









