» Главная
eXcode.ru » Статьи » JAVA / JavaScript » Java » Примеры
» Новости
» Опросы
» Файлы
» Журнал



Пользователей: 0
Гостей: 25





Простой 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 zs_m@one.lv


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
К началу статьи





Добавил: MadvEXДата публикации: 0000-00-00 00:00:00
Рейтинг статьи:5.00 [Голосов 1]Кол-во просмотров: 9921

Комментарии читателей

Всего комментариев: 747

2018-02-25 16:34:09
Gerardcib
* Кредит по паспорту, без справок и поручителей
* Получить кредит наличными без справок о доходах
* Кредит онлайн — без поручителей и визита в банк
<a href=http://bit.ly/2oQUzUu>взять долг</a>
Погасите кредит без просрочек — пересчитаем проценты по сниженной ставке и вернем вам разницу

2018-02-25 14:18:58
MillardNiz
Срочно требуются деньги? Альфа Банк
Скорая финансовая помощь.
<a href=http://bit.ly/2pJ9LnO>взять деньги</a>

2018-02-25 12:25:29
Gerardcib
* Кредит по паспорту, без справок и поручителей
* Получить кредит наличными без справок о доходах
* Кредит онлайн — без поручителей и визита в банк
<a href=http://bit.ly/2oQUzUu>кредит кабинет</a>
Погасите кредит без просрочек — пересчитаем проценты по сниженной ставке и вернем вам разницу

2018-02-25 10:24:31
MillardNiz
Срочно требуются деньги? займ без отказа
Скорая финансовая помощь.
<a href=http://bit.ly/2pJ9LnO>даю деньги в долг</a>

2018-02-16 06:45:52
Gerardcib
* Кредит по паспорту, без справок и поручителей
* Получить кредит наличными без справок о доходах
* Кредит онлайн — без поручителей и визита в банк
[url=http://bit.ly/2oQUzUu]кредит в банке[/url]
Погасите кредит без просрочек — пересчитаем проценты по сниженной ставке и вернем вам разницу

2018-02-11 04:19:55
Donnarox
http://tebe-nado.ru - шопинг в китае интернет магазин

2018-01-26 11:08:54
Traceex
футболки приталенные заказать!
Наши товары: одежда, футболки, майки, толстовки, свитшоты, верхняя одежда, шорты, спортивные брюки, одежда для беременных,<a href=http://mayki-ok.ru/product/cushion_full/751807_cushion_full?color=white>Популярные майки / Каталог / Велогонщик</a> и многое другое!
*&$*

2018-01-25 06:55:00
Greyxkx
Возникли финансовые трудности?
- наличный кредит
Выдача в день сделки займа онлайн на карту за 20 мин. Заказать кредит здесь: http://bit.ly/2AdmeW8
YesKredit
http://bit.ly/2jaeXQd - кредит без
*money**

2018-01-22 23:57:39
Donnarox
http://tebe-nado.ru - конференция интернет шопинг

2018-01-22 23:57:38
Greyovd
Возникли финансовые трудности?
- деньги в долг без кредитной истории
Выдача в день сделки займа онлайн на карту через 15 мин. Заказать здесь: http://bit.ly/2AdmeW8
Вклады
http://bit.ly/2kD43Td - деньги в долг без карты
*money**
Ваше имя: *
Текст записи: *
Имя:

Пароль:



Регистрация

Какой жанр комп. игр вам нравится?
Стратегии
24% (55)
Action
17% (39)
RPG
36% (82)
RTS
1% (3)
Симуляторы
8% (18)
Квесты
7% (15)
Логические
3% (6)
Другой
5% (11)

Проголосовало: 229
Идет коннект, качается, срываясь на ходу...
Рейтинг: 6.6/10 (5)
Посмотреть все анекдоты