Логин:   Пароль:




Новости
Рассылки
Форум
Поиск


Java
- Апплеты
- Вопрос-ответ
- Классы
- Примеры
- Руководства
- Статьи
- IDE
- Словарь терминов
- Скачать

Мобильная Java
- Игры
- Примеры
- Статьи
- WAP, WML и пр.

JavaScript
- Вопрос-ответ
- Примеры
- Статьи

Веб-мастеринг
- HTML
- CSS
- SSI

Разминка для ума
Проекты
Книги
Ссылки
Программы
Юмор :)




Rambler's Top100

Java: ПримерыПростой IRC клиент

Простой IRC клиент

самый простой IRC клиент работает в нём почти также удобно:))) как и сидеть в IRC используя telnet. Работа идёт по IRC протоколу, RFC которого находится здесь: ftp://ftp.irc.org/irc/docs/rfc1459.txt.

- для того чтобы зайти на канал, необходимо набрать join #chanel
- для отправки сообщения на канал privmsg #chanel :Vsjem privet
- для посылки сообщения в приват Privmsg name :Hi kak dela (не забудьте в начале послания ставить двоеточия)
- для получения всех возможных команд help

Надеюсь, кому-то это будет интересно, это может быть ваш первый шаг для создания нормального IRC клиента. Yаверно сама программа плохая, но я сделал всё, что мог, кто разбирается сделайте замечания и т.д и я их обязательно исправлю мой e-mail [email protected]


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

class Irc_sm{
  static Socket socket;
  static PrintWriter out;
  public static void main (String [] args){
  String server="irc.delfi.lv";
  int port=6667;
  String nick="Zs2";
  String name="zs_name";
  String host="zs_host";

try {
socket=new Socket(server,port);
BufferedReader in=new BufferedReader(new InputStreamReader(socket.getInputStream()));
out=new PrintWriter(new BufferedWriter(new OutputStreamWriter(socket.getOutputStream())),true);
out.println("NICK "+nick);
out.println("USER "+host+" \"...\" \"...\" "+name);


    Producer p=new Producer (out);
    Consumer c=new Consumer(in,server);
     }catch (Exception e){System.out.println(e);}
    try{
      Thread.sleep(0);
    }
    catch (InterruptedException ie)  {}

}
public static void send_string(String str){
  out.println(str);
  }
}





class Producer implements Runnable {
  private PrintWriter out;
  private Thread go;
  BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
  Producer(PrintWriter out) {
    this.out=out;

    go = new Thread(this);
    go.start();
}
public void run (){

  Thread th=Thread.currentThread();
  try{

  while (true){
         out.println(br.readLine());
       }
        }catch (Exception e){System.out.println(e);}
}
public void stop() {go = null; }
}

class Consumer implements Runnable{
  BufferedReader in;
  PrintWriter pw;
  Thread go;
  String server;
  String str;
  Consumer(BufferedReader in, String server) {
    this.in=in;this.server=server;
    go = new Thread(this);
    go.start();

}
public void run (){
  Thread th=Thread.currentThread();
   try{
pw=new PrintWriter(new OutputStreamWriter(System.out,"Cp866"),true);
     while (true){
       str=in.readLine();
     if(str.length()>5;){
  if("PING ".equals(str.substring(0,5)))
  Irc_sm.send_string("PONG "+server);

  }
pw.println(str);
     }
  }catch (Exception e){System.out.println(e);}
}
public void stop()
{go = null;}
}



Автор: Zs


Дирк Льюис, Петер Мюллер
"Java 2"
Подробнее>>
Заказать>>


Любош Бруга
"Java по-быстрому. Практический экспресс-курс"
Подробнее>>
Заказать>>

Узнай о чем ты на самом деле сейчас думаешь тут.


[an error occurred while processing this directive]



Apache Struts 2.0.11
Apache MyFaces Trinidad Core 1.2.3.
Sun переводит мобильные устройства с Java ME на Java SE
Хакерская атака!