Выкладываю драйвера для своего нетбука DNS M1000 на случай возврата его к линуксу. Пользовался им примерно год, причем постоянно. Батарея держится примерно 4 часа. Помнится, 5 часов в дороге смотрел фильмы. Теперь им пользуется жена. Пришлось поставить Windows 7. Читать
Хранение садового шланга
Вам не приходилось замечать, сколько тратится времени на то, чтобы размотать садовый шланг для полива растений в саду, а затем снова свернуть его; чтобы убрать от посторонних глаз или из-под своих ног для безопасного перемещения по саду? Эти действия приходится выполнять при подготовке к скашиванию травы на газонах, чтобы случайно не повредить шланг при скашивании травы; с наступлением холодной погоды для предотвращения замерзания в нем воды. К тому же неаккуратно свернутые шланги выглядят не очень привлекательно.
Решение этого вопроса не представляет особой сложности – достаточно сделать приспособление для сматывания поливочного шланга.
Гардеробная в прихожей
Гардероб – наиболее удобный предмет мебели, которым может быть укомплектована ваша прихожая. Мебель, фото которой вы можете посмотреть в нашем каталоге, способна сделать даже очень маленькое помещение функциональным. Шкаф-гардероб может быть оформлен в разнообразных стилях, не только лишь в привычном для нас классическом.
Запуск NettyJava на android эмуляторе
Сегодня произошла большая радость. Мне удалось откомпилировать и запустить мой тестовый консольный клиент, написанный на Netty, на android-эмуляторе!
Суть решения:
1. Создать в проекте папку «libs» и положить в неё netty.jar (ADT автоматически подгружает папку с таким именем)
2. Добавить программе разрешение на выход в интернет. В файле AndroidManifest.xml добавить запись
Просто рассказ:
Вчера я довёл до некоторого стабильного состояния классы Client и Server, основанные на NettyJava.
А сегодня утром написал короткое консольное приложение, которое может запускаться как сервер и клиент и цепляется к порту моего компьютера.
После отладки работы клиента и сервера под управлением JVM в Windows, я приступил к созданию тестового консольного приложения для Android.
Я думал, что меня встретят трудности, когда я попытаюсь использовать Client класс в android-приложении.
Так и произошло. Но на мою радость, я нашёл решение в google за один вечер.
Суть проблемы была в том, что хотя Eclipse и добавил JAR файл в текущий android-проект, но при запуске проекта на эмуляторе — библиотеку netty.jar не попадала на андроид.
Ответ оказался простым, во что я и верил, ADT плагин Eclipse не подгружал мой netty.jar.
Оказалось, что ADT подгружает внешние *.jar библиотеки только из папки «libs».
Я создал эту папку в своём проеке, поместил туда netty.jar и…
Мой клиент написанный на Netty заработал на Android эмуляторе!
Ниже пример клиент-серверной программы. (В данном состоянии пример не будет запускаться, т.к. здесь не хватает реализации классов Client и Server).
/**
* Пример клиент-серверной программы, написанной на NettyJava.
* Запуск сервера:
*java -jar server.jar* Запуск клиента: *
java -jar server.jar client* На стороне клиента пишем сообщения и они отправляются на сервер в * пакете {@link Packet1Ping}. Сервер выводит пришедшие пакеты в стандартный поток * вывода. * * Клиент и сервер заточены для запуска с одного компьютера. * Сервер и клиент работают с localhost:8080 * @author Galiego710 * */ public class Main { public static final void out(String str) { System.out.println(str); } /** * @param args */ public static void main(String[] args) throws IOException { out("Program is started."); out("Print 'quit' or 'exit' to exit."); // запустить как клиент или сервер if ( (args.length > 0) && (args[0].equals("client"))) { ClientProgram(); } else { ServerProgram(); } out("Program is ended."); System.exit(0); } /** * Серверная часть * @throws IOException */ public static void ServerProgram() throws IOException { out("Mode: Server"); final Server server = new Server("MainServer", new InetSocketAddress("localhost",8080)); // Устанвить хук на завершение программы Runtime.getRuntime().addShutdownHook(new Thread() { public void run() { // отключить сервер server.stop(); out("ShutdownHook done."); } }); // Установить слушателя серверу server.setListener(new ConnectorListener() { @Override public void connectionOpen(ConnectorHandler handler) { out("+++ SERVER: Client connected."); } @Override public void packetReceived(ConnectorHandler handler, Packet packet) { out("+++ SERVER: received " + packet); } }); // Запуск сервера if(!server.start()) { System.err.println("Server can't started!"); } else { System.out.println("Server is started"); } BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); // Обрабатывать ввод с клавиатуры String str; do { System.out.print("Enter: "); str = br.readLine(); out("str=" + str); } while (!(str.equals("quit") || str.equals("exit"))); } /** * Клиентская часть * @throws IOException */ public static void ClientProgram() throws IOException { out("Mode: Client"); final Client client = new Client("user","pass", new InetSocketAddress("localhost",8080)); // Установить хук на закрытие программы Runtime.getRuntime().addShutdownHook(new Thread() { public void run() {
// потушить сервер client.stop(); out("ShutdownHook done."); } }); // Запустить клиента if(!client.start()) { System.err.println("Client can't started!"); } else { System.out.println("Client is started"); } BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); // Обрабатывать ввода с клавиатуры String str; do { System.out.print("Enter: "); str = br.readLine(); out("str=" + str); // отправить пакет client.sendPacket(new Packet1Ping(str)); } while (!(str.equals("quit") || str.equals("exit"))); } }
Смотрите также: NettyJava — асинхронный событийно ориентированный сетевой фреймворк
Автор: galiego710

Развивающая книжка
Продолжаем украшать свою жизнь и жизнь всех окружающих, а особенно самых близких людей — своих деток. В этом уроке расскажем, как сделать развивающую книжку из ткани.
Надежное место для заначки…)))
Американская фирма JoeyBra выпустила необычный бюстгальтер.
Можно смело прятать деньги и не только…)))

*********************************************************************

*********************************************************************

*********************************************************************



