Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Java программирование > Общие вопросы по Java, Java SE, Kotlin
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 21.10.2016, 21:39   #1
Sasha94
Новичок
Джуниор
 
Регистрация: 21.10.2016
Сообщений: 1
По умолчанию Компиляция сервера на языке java

Добрый вечер прошу помощи в компиляции сервера написанного на java. К серверу будет обращаться отдельное мобильное приложения (мессенджер). Уже пробовал через командную строку (куча ошибок). У меня имеется 2 файлы java:
main.java
Код:
import java.util.Collections;
import java.util.HashSet;
import java.util.Set;
import javax.websocket.EncodeException;
import javax.websocket.OnClose;
import javax.websocket.OnError;
import javax.websocket.OnMessage;
import javax.websocket.OnOpen;
import javax.websocket.Session;
import javax.websocket.server.ServerEndpoint;
import java.io.IOException;
import org.json.simple.JSONArray;
import org.json.simple.JSONObject;
import org.json.simple.parser.JSONParser;
import org.json.simple.parser.ParseException;
 
 
@ServerEndpoint("/websocket")
public class main {
 
    private static Set<socketConection> peers = Collections.synchronizedSet(new HashSet<socketConection>());
 
    @OnMessage
    public String onMessage(String message, Session session) throws IOException, EncodeException, ParseException {
        System.out.println(message);
        JSONParser parser = new JSONParser();
        Object obj = parser.parse(message);
        JSONObject jsonObject = (JSONObject) obj;
        String type = (String) jsonObject.get("type");
        switch (type) {
            case "newMessage":
                JSONObject ms = new JSONObject();
                ms.put("type", "newMessage");
                ms.put("senderId", session.getId());
                ms.put("content", (String) jsonObject.get("content"));
                sendMessage(ms.toJSONString());
                break;
            case "newFile":
                JSONObject msg = new JSONObject();
                msg.put("type", "newFile");
                msg.put("senderId", session.getId());
                msg.put("content", (String) jsonObject.get("content"));
                msg.put("fileName", (String) jsonObject.get("fileName"));
                sendMessage(msg.toJSONString());
                break;
            case "newUser":
                String id = (String) jsonObject.get("id");
                String name = (String) jsonObject.get("name");
                for (socketConection peer : peers) {
                    if (id.equals(peer.session.getId())) {
                        peer.name = name;
                    }
                }
                JSONArray users = new JSONArray();
                JSONObject ob = new JSONObject();
                for (socketConection peer : peers) {
                    users.add(peer.toString());
                }
                ob.put("type", "newUser");
                ob.put("users", users);
                sendMessage(ob.toJSONString());
                break;
            default:
                sendMessage(message);
                break;
        }
        return null;
    }
 
    @OnOpen
    public void onOpen(Session session) throws IOException, EncodeException {
        JSONObject message = new JSONObject();
        message.put("type", "registration");
        message.put("id", session.getId());
        session.getBasicRemote().sendObject(message.toJSONString());
        socketConection con = new socketConection(session, "");
        peers.add(con);
    }
 
    @OnClose
    public void onClose(Session peer) throws IOException, EncodeException {
        socketConection tmp = null;
        for (socketConection p : peers) {
            if (p.session.getId().equals(peer.getId())) {
                tmp = new socketConection(p.session, p.name);
            }
        }
        peers.remove(tmp);
        JSONObject message = new JSONObject();
        message.put("type", "unregistered");
        message.put("id", peer.getId());
        sendMessage(message.toJSONString());
    }
 
    @OnError
    public void onError(Throwable t) throws IOException, EncodeException {
    }
 
    private void sendMessage(String mess) throws IOException, EncodeException {
        for (socketConection peer : peers) {
            peer.session.getBasicRemote().sendText(mess);
        }
    }
}
socketConection.java
Код:
import javax.websocket.Session;
import org.json.simple.JSONObject;
 
public class socketConection {
 
    Session session;
    String name;
 
    public socketConection(Session session, String name) {
        this.session = session;
        this.name = name;
    }
 
    socketConection(Session session, String string) {
        throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
    }
 
   
    public String toString() {
        JSONObject s = new JSONObject();
        s.put("id", this.session.getId());
        s.put("name", this.name);
        return s.toJSONString();
    }
}

Последний раз редактировалось Sasha94; 21.10.2016 в 22:23.
Sasha94 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Создание приложения на языке Java maka42rus Фриланс 3 21.08.2014 06:43
примеры на языке java kyky100 Общие вопросы по Java, Java SE, Kotlin 2 10.01.2014 14:50
Компиляция java, и упаковка в jar VY_CMa Общие вопросы по Java, Java SE, Kotlin 0 13.08.2012 15:00
Создание сервера в java ISV-777 Помощь студентам 0 28.05.2012 19:17