Sockets em Java

8 respostas
S

Olá galera será se alguém já montou um programa em java com sockets?
é que eu não faço a minima idéia de como mandar e enviar dados para o servidor. abaixo você pode ver o código que estou usando.( só faz a conexão)

import java.net.*;
import java.io.*; // eu não sei usar essa parte para enviar e receber dados

class conexao {
  // no caso uma conexão com servidor IRC
  public static void main(String[ ] args) {
   try {
    Socket conexao = new Socket("irc.mircx.com",6667);
    // como enviar e receber??? enpaquei aqui...
   } catch (IOException e) {
    System.err.println("Ocorreu um erro: " e.getMessage( ));
   }
  }
}

vocês me ajudariam muito postando qualquer código que utilize uma conexão ativa com o servidor. Obrigado.

[]'s
Rafael

8 Respostas

S

ae galera fui lendo algums posts e tutoriais e cheguei a este código:

import java.net.*;
import java.io.*;
import java.util.*;

class Arisu {

 static String server = "irc.brasnerd.com.br";
 static int port = 6667;
 static BufferedReader getData;
 static PrintStream sendData;

 public static void main(String[ ] args) {

  System.out.println("  server = " + server + ":" + port + "
"); 

  try {

   Socket conn = new Socket(server, port);
   Arisu.getData = new BufferedReader(new InputStreamReader(conn.getInputStream( )));
   Arisu.sendData = new PrintStream(conn.getOutputStream( ));

   System.out.println(Arisu.getData.readLine( ));
   /*
    Na linha acima ele pega uma mensagem do servidor...
    Agora o problema é o seguinte, como eu faço p/ continuar pegando
    as mensagems do servidor toda hora?
    Eu pensei em criar um loop infinito mas acho que não é uma boa alternativa posso estar enganado eu não sei, por isso peço a opinião de vocês experts no assunto ^^ obrigado e flw! Aguardo na resposta...
   */

  } catch (IOException e) {
   System.err.println("Erro ao criar a conexao");
   System.err.println(e.getMessage( ));
  }
 }
}
black_fire

Kra esses dias eu passei por este problema e consegui resolver…
Dá uma olhada:

http://www.guj.com.br/forum/viewtopic.php?t=4543

V

Cara, quando eu tava fazendo um botzinho pra aprender a mexer com sockets esse link me ajudou bastante

http://www-106.ibm.com/developerworks/java/library/j-javabot/

soaresinfo

coloque um laço como:

while(conn.available()){

string s = conn.readline();

//aqui vc trata os pacotes que recebe do jeito
//que lhe der na telha…

}

L

Kra eu coloquei um for(;:wink: e o servidor mando duas mensagens a que ele esta procurando pelo hostname e a de que ele naum o encontrou. Vou perguntar par um amigo e ver se ele pode me dar a resposta de como enviar o hostname para o servidor , se ele souber eu te passo.

S

Ae pessoal estes links estao me ajudando muito, e luizgodoy estou aguardando a resposta :slight_smile:

muito obrigado pela ajuda pessoal, []'s

caiofilipini

Aqui no GUJ tem um tutorial sobre Sockets, vc pode dar uma olhada:

http://www.guj.com.br/servlet/guj?PARSE=true&MAMUTE_ACTION=br.com.guj.action.ListArticle&MAMUTE_TEMPLATE=ShowArticle&LIST_ARTICLE=single&ArticleId=26&PAGE=1

[]'s

ozielneto

Java Network Programming Basis and Fundamentals.

Collections
http://java.sun.com/docs/books/tutorial/collections/index.html

MultThread Programming
http://java.sun.com/docs/books/tutorial/essential/threads/index.html

IO Basics
http://java.sun.com/docs/books/tutorial/essential/io/index.html

Jaav Sockets
http://java.sun.com/docs/books/tutorial/networking/index.html

Bom estudo a todos.

Criado 17 de agosto de 2003
Ultima resposta 25 de ago. de 2003
Respostas 8
Participantes 7