Модераторы: javastic, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Сокетное соединение - ошибка 
:(
    Опции темы
YuraDoc
Дата 21.3.2008, 16:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 140
Регистрация: 1.4.2006
Где: Zhytomir, Ukraine

Репутация: нет
Всего: нет



Ребята расскажите пожалуйста как создать класс для работы с сокетными соединениями, да так чтобы с ним было приятно работать.

Вот написанный мною клиент
У меня при попытки получения сообщения выдается:

java.io.EOFException
        at java.io.DataInputStream.readUnsignedShort(DataInputStream.java:322)
        at java.io.DataInputStream.readUTF(DataInputStream.java:572)
        at java.io.DataInputStream.readUTF(DataInputStream.java:547)
        at main.Client.recv(Client.java:69)
        at main.Client.run(Client.java:77)


Код

public class Client extends Thread{

    private String message;
    private StreamConnection streamConn;
    public static final String PROTOCOL = "socket";
    private String serverPort, serverHostName, serverURI;
    
    public Client(String uri){
        serverURI = uri;
    }

    public Client(String server, String port) throws IOException{
        serverHostName = server;
        serverPort = port;
        serverURI = buildServerURI();
    }

    private String buildServerURI(){
        StringBuffer uri = new StringBuffer(PROTOCOL);
        uri.append("://");
        uri.append(serverHostName);
        uri.append(":");
        uri.append(serverPort);
        return uri.toString();
    }

    private void setMessage(String msg){
        message = msg;
    }

    public String getMessage(){
        return message;
    }
    
    public synchronized void send(String msg) {
    setMessage(msg);
        start();
    //notify();
    }

    private void send() throws IOException {
        /*
        if (getMessage() == null) {
        wait();
        }
        */
        //streamConn = (StreamConnection) Connector.open(serverURI);
        streamConn.openDataOutputStream().writeUTF(getMessage() + "\r\n");
        //streamConn.close();
    }
    
    private String recv() throws IOException{
        
        return streamConn.openDataInputStream().readUTF();
    }
    
    public synchronized void run() {
        //while (true) {
            try {
                streamConn = (StreamConnection) Connector.open(serverURI);
                send();
                setMessage(recv());
                streamConn.close();
            } catch (IOException ex) {
                ex.printStackTrace();
            }
        //}
    }
}



Спасибо.
PM MAIL WWW ICQ Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса

  • Прежде чем задать вопрос прочтите это!
  • Литература по Java находится здесь.
  • Литературу по Java обсуждаем здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда

  • FAQ раздела лежит здесь!
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java ME (J2ME) | Следующая тема »


 




[ Время генерации скрипта: 0.0563 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.