Добавлено быстрое цитирование выделенного текста. Кнопка "++Цитата" цитирует выделенный текст в форму быстрого ответа.
Пока все.
PS: Если нужно добавить каких-то функций, пишите сюда, сделаем.
![:rolleyes:](http://www.forum.crossplatform.ru/style_emoticons/default/rolleyes.gif)
это код
<img src="style_emoticons/default/rolleyes.gif" style="vertical-align: middle;" emoid=":rolleyes:" alt="rolleyes.gif" border="0">
<img src="style_emoticons/default/rolleyes.gif" style="vertical-align: middle;" emoid=":rolleyes:" alt=":rolleyes:" border="0">
class MyThread : public QThread
{
public:
void run();
};
void MyThread::run()
{
QTcpSocket socket;
// connect QTcpSocket's signals somewhere meaningful
...
socket.connectToHost(hostName, portNumber);
exec();
}
#!/usr/bin/env ruby
# Чтобы наверняка работала поддержка кирилицы
$KCODE = "utf-8"
# необходимо подключить библиотеку socket, чтобы работать с TCP
require 'socket'
# Тело программы
TCPServer.open('localhost', 3000){ |server|
# Печатаем собщение в консоль сервера
puts "[LOG]: Сервер запущен\r\n"
# Как только вызов server.accept возвращает значение,
# то это означает, что к серверу подсоединился клиент
# В переменную session записывается указатель на соединение.
if (session = server.accept)
# Печатаем сообщение в консоль клиента
session.print "[RU]:Добро пожаловать на сервер\r\n"
session.print "[RU]:Вы можите набирать команды: ls <dir> | cd <dir> | shutdown\r\n"
# Печатаем собщение в консоль сервера
puts "[LOG]: Подключение к серверу\r\n"
# Выход из цыкла возможен только по командам: srvclose и shutdown
# с последующим закрытием сесии (сокета)
loop{
# Следующий код является замещением:
# str = srv.gets.chomp.split(' ')
# cmd = str[0]
# arg = str[1]
cmd, arg = *session.gets.chomp.split
puts "[LOG]: Введена команда: #{ cmd } #{ arg }\r\n"
# оператор case, как в С switch
case cmd
when "ls"
begin
session.print Dir[ arg || "*" ].map{ |str| str + "\r\n" }
rescue
session.print "[RU]:Нет такого файла или каталога - #{ arg.inspect }\r\n"
puts "[ERROR]:Нет такого файла или каталога - #{ cmd } #{ arg }\r\n"
end
when "cd"
begin
Dir.chdir( arg )
session.print "OK!\r\n"
rescue
session.print "[RU]:Нет такого файла или каталога - #{ arg.inspect }\r\n"
puts "[ERROR]:Нет такого файла или каталога - #{ cmd } #{ arg }\r\n"
end
when "shutdown"
session.close
break
else
session.print "[ERROR]:Неверная команда!\r\n"
end
}
end
}