Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Серверные технологии и Flash (http://www.flasher.ru/forum/forumdisplay.php?f=62)
-   -   Flash->Socket->PHP Альтернативы (http://www.flasher.ru/forum/showthread.php?t=103931)

slawek 12.03.2009 13:26

Цитата:

Сообщение от Max Stone (Сообщение 802822)
komar, Нашел тему и понял что мне в ближайшее время придется столкнуться с аналогичной проблемой. Знаю что прошло много времени, но мне интересно как решилась эта проблема? Или может кто-нибудь из других участников дискуссии знают решение. Нужно именно socket соединение. Но порт будет другой прослушиваться, сервак будет на vb.net.

Если рабтать планируете с .NET посмотрите fluorinefx и weborb. Но с сокетами проблем так же нет.

.snet 24.03.2010 21:03

У меня есть некоторые вопросы по поводу взаимодействия флеша и сокета.
Сокет сделан с помощью java. Flash - клиент.

1) Мой флеш соединяется с сервером только при компиляции, почему?
Проблема в том, что если запустить файл свф из папки, а не через программу (ctrl+enter), то свф'ка эта работать не будет...

2) Как подключить несколько клиентов к одному серверу, как я понимаю на каждый порт возможно подключение только одного клиента. Помогите сформировать правильный код, который дает возможность подключиться нескольким клиентам одновременно. Представляю я его так: Клиент подсоединяется к главному порту, например 80, сервер какбе регистрирует его отсылая, сгенерированный им, уникальный порт. А потом раскидывает какие-то данные по всем портам, к которым подключены клиенты (думаю тут это делает цикл "for"). Вот сервер на данный момент у меня выглядит так:

Код AS1/AS2:

import java.io.*; 
import java.net.*;
 
class Server
{
    private static Server server;
    ServerSocket socket;
    Socket incoming;
    BufferedReader readerIn;
    PrintStream printOut;
 
    public static void main(String[] args)
    {
        int port = 80;
 
        try
        {
            port = Integer.parseInt(args[0]);
        }
        catch (ArrayIndexOutOfBoundsException e)
        {
 
        }
 
        server = new Server(port);
    }
 
    private Server(int port)
    {
        System.out.println("Whait connect...");
        try
        {
            socket = new ServerSocket(port);
            incoming = socket.accept();
            System.out.println("In server connected! \n");
            readerIn = new BufferedReader(new InputStreamReader(incoming.getInputStream()));
            printOut = new PrintStream(incoming.getOutputStream());
            boolean done = false;
            while (!done)
            {
                String str = readerIn.readLine();
                if (str == null)
                {
                    done = true;
                }
                else
                {
                out("Client: " + str);
                    if(str.trim().equals("EXIT"))
                    {
                        done = true;
                    }
                }
              //incoming.close();
            }
        }
        catch (Exception e)
        {
            System.out.println(e);
        }
    }
 
    private void out(String str)
    {
        System.out.println(str);
 
        printOut.println("I registration you \n");
        System.out.println("You say: I registration you \n");
    }
 
}



Часовой пояс GMT +4, время: 02:20.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.