Pacote | flash.net |
Classe | public class Socket |
Herança | Socket EventDispatcher Object |
Implementações | IDataInput, IDataOutput |
Subclasses | SecureSocket |
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0, Flash Player 9, Flash Lite 4 |
A classe Socket é útil para trabalhar com servidores que usam protocolos binários.
Para usar os métodos da classe Socket, primeiro é necessário usar o construtor, new Socket
, para criar um objeto Socket.
Um soquete transmite e recebe dados assincronamente.
Em alguns sistemas operacionais, flush() é chamado automaticamente entre os quadros de execução, mas em outros sistemas operacionais, tais como o Windows, os dados nunca são despachados, a menos que você chame flush()
explicitamente. Pa assegurar que o aplicatio se comporte de maneira confiável em todos sistemas operacionais, é uma boa prática chamar o método flush()
depois de escrever cada mensagem (ou grupo de dados relacionado) para o soquete.
No Adobe AIR, os objetos Socket também são criados quando uma escuta ServerSocket recebe uma conexão de um processo externo. O Socket que representa as conexões é despachado em um evento ServerSocketConnectEvent. O seu aplicativo é responsável por manter uma referência a este objeto Socket. Se você não fizer, o objeto Socket se encarregará da coleta de lixo e poderá ser eliminado pelo tempo de execução sem aviso.
O conteúdo de SWF que está sendo executado na área de segurança local com sistema de arquivos não pode usar soquetes.
Os arquivos de diretivas de soquete no host de destino especificam os hosts a partir dos quais os arquivos SWF podem fazer conexões de soquete e as portas nas quais essas conexões podem ser feitas. Os requisitos de segurança relativos a arquivos de diretivas de soquete tornaram-se mais rigorosos nas últimas versões do Flash Player. Em todas as versões do Flash Player, a Adobe recomenda o uso de um arquivo de diretivas de soquete e, em algumas circunstâncias, ele é obrigatório. Portanto, se você estiver usando objetos Socket, verifique se o host de destino fornece um arquivo de diretivas de soquete, quando necessário.
A lista a seguir resume os requisitos de arquivos de diretivas de soquete em diversas versões do Flash Player:
- No Flash Player 9.0.124.0 e versões posteriores, é obrigatório um arquivo de diretivas de soquete para qualquer conexão de soquete. Ou seja, é obrigatório um arquivo de diretivas de soquete no host de destino, independentemente da porta à qual você está se conectando, mesmo que seja uma porta no mesmo host que está fornecendo o arquivo SWF.
- No Flash Player versões 9.0.115.0 e anteriores, para conectar-se a uma porta de número abaixo de 1024 ou para conectar-se a um host que não seja aquele que fornece o arquivo SWF, é obrigatório um arquivo de diretivas de soquete no host de destino.
- No Flash Player 9.0.115.0, mesmo que não seja obrigatório um arquivo de diretivas de soquete, será exibido um aviso ao usar o Flash Debug Player, caso o host de destino não forneça um arquivo de diretivas de soquete.
- No AIR, não há necessidade de um arquivo de política de soquete para o conteúdo executado na caixa de proteção do aplicativo. Os arquivos de política de soquete são necessários em qualquer conexão de soquete estabelecida pelo conteúdo executado fora da caixa de proteção do aplicativo AIR.
Para obter mais informações relacionadas à segurança, consulte o tópico do Centro dos desenvolvedores do Flash Player Security
Elementos da API relacionados
Propriedade | Definido por | ||
---|---|---|---|
bytesAvailable : uint [somente leitura]
O número de bytes de dados disponíveis para leitura no buffer de entrada. | Socket | ||
bytesPending : uint [somente leitura]
Indica o número de bytes restantes no buffer de gravação. | Socket | ||
connected : Boolean [somente leitura]
Indica se este objeto Socket está conectado no momento. | Socket | ||
constructor : Object
Uma referência ao objeto de classe ou à função de construtor de uma determinada ocorrência de objeto. | Object | ||
endian : String
Indica a ordem de byte para os dados. | Socket | ||
localAddress : String [somente leitura]
O endereço IP deste soquete está vinculado à máquina local. | Socket | ||
localPort : int [somente leitura]
A porta deste soquete está vinculada à máquina local. | Socket | ||
objectEncoding : uint
Controla a versão do AMF usada ao gravar ou ler um objeto. | Socket | ||
remoteAddress : String [somente leitura]
O endereço IP da máquina remota à qual este soquete está conectado. | Socket | ||
remotePort : int [somente leitura]
A porta na máquina remota à qual este soquete está conectado. | Socket | ||
timeout : uint
Indica o número de milissegundos de espera por uma conexão. | Socket |
Método | Definido por | ||
---|---|---|---|
Cria um novo objeto Socket. | Socket | ||
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
Registra um objeto de ouvinte de evento em um objeto EventDispatcher, de forma que o ouvinte receba a notificação de um evento. | EventDispatcher | ||
Fecha o soquete. | Socket | ||
Conecta o soquete ao host e porta especificados. | Socket | ||
Envia um evento para o fluxo de eventos. | EventDispatcher | ||
Descarrega todos os dados acumulados no buffer de saída do soquete. | Socket | ||
Verifica se o objeto EventDispatcher tem ouvintes registrados para um tipo específico de evento. | EventDispatcher | ||
Indica se um objeto tem uma propriedade especificada definida. | Object | ||
Indica se uma ocorrência da classe Object está na cadeia de protótipos do objeto especificado como o parâmetro. | Object | ||
Indica se a propriedade especificada existe e é enumerável. | Object | ||
Lê um valor booliano do soquete. | Socket | ||
Lê um byte com sinal do soquete. | Socket | ||
Lê o número de bytes de dados especificados pelo parâmetro de comprimento a partir do soquete. | Socket | ||
Lê do soquete um número de ponto flutuante de precisão dupla IEEE 754. | Socket | ||
Lê do soquete um número de ponto flutuante de precisão única IEEE 754. | Socket | ||
Lê um inteiro de 32 bits com sinal do soquete. | Socket | ||
Lê uma string de vários bytes a partir do fluxo de bytes, usando o conjunto de caracteres especificado. | Socket | ||
readObject():*
Lê um objeto a partir do soquete, codificado no formato serializado AMF. | Socket | ||
Lê um inteiro de 16 bits com sinal do soquete. | Socket | ||
Lê um byte sem sinal do soquete. | Socket | ||
Lê um inteiro de 32 bits sem sinal do soquete. | Socket | ||
Lê um inteiro de 16 bits sem sinal do soquete. | Socket | ||
Lê uma string UTF-8 do soquete. | Socket | ||
Lê o número de bytes de dados UTF-8 especificados pelo parâmetro "length" a partir do soquete e retorna uma string. | Socket | ||
Remove um ouvinte do objeto EventDispatcher. | EventDispatcher | ||
Define a disponibilidade de uma propriedade dinâmica para operações de repetição. | Object | ||
Retorna a representação da string deste objeto, formatado segundo as convenções específicas para a localidade. | Object | ||
Retorna a representação de string do objeto especificado. | Object | ||
Retorna o valor primitivo do objeto especificado. | Object | ||
Verifica se um ouvinte de evento está registrado nesse objeto EventDispatcher ou em qualquer um de seus ancestrais para o tipo de evento especificado. | EventDispatcher | ||
Grava um valor booliano no soquete. | Socket | ||
Grava um byte no soquete. | Socket | ||
Grava uma sequência de bytes a partir da matriz de bytes especificada. | Socket | ||
Grava no soquete um número de ponto flutuante de precisão dupla IEEE 754. | Socket | ||
Grava no soquete um número de ponto flutuante de precisão única IEEE 754. | Socket | ||
Grava um inteiro de 32 bits com sinal no soquete. | Socket | ||
Grava uma string de vários bytes a partir do fluxo de bytes, usando o conjunto de caracteres especificado. | Socket | ||
Grava um objeto no soquete no formato serializado AMF. | Socket | ||
Grava um inteiro de 16 bits no soquete. | Socket | ||
Grava um inteiro de 32 bits sem sinal no soquete. | Socket | ||
Grava os seguintes dados no soquete: um inteiro de 16 bits sem sinal, que indica o comprimento da string UTF-8 especificada em bytes, seguido da string propriamente dita. | Socket | ||
Grava uma string UTF-8 no soquete. | Socket |
Evento | Resumo | Definido por | ||
---|---|---|---|---|
[transmissão de evento] Despachado quando o Flash Player ou o aplicativo do AIR ganha o foco do sistema operacional e está se tornando inativo. | EventDispatcher | |||
Despachado quando o servidor fecha a conexão de soquete. | Socket | |||
Despachado quando uma conexão de rede foi estabelecida. | Socket | |||
[transmissão de evento] Despachado quando o Flash Player ou o aplicativo do AIR perde o foco do sistema operacional e está se tornando inativo. | EventDispatcher | |||
Despachado quando ocorre um erro de entrada/saída que resulta na falha de uma operação de envio ou carregamento. | Socket | |||
Despachado quando um soquete move dados do buffer de gravação para a camada de transporte de rede | Socket | |||
Despachado se uma chamada de Socket.connect() tentar se conectar a um servidor proibido pela caixa de proteção do autor da chamada ou a uma porta inferior a 1024 e não houver nenhum arquivo de política de soquete para permitir esta conexão. | Socket | |||
Despachado quando um soquete recebeu dados. | Socket |
bytesAvailable | propriedade |
bytesAvailable:uint
[somente leitura] Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0, Flash Player 9, Flash Lite 4 |
O número de bytes de dados disponíveis para leitura no buffer de entrada.
O seu código deve acessar bytesAvailable
para garantir que dados suficientes estejam disponíveis antes de você tentar fazer a leitura com um dos métodos de leitura
.
Implementação
public function get bytesAvailable():uint
bytesPending | propriedade |
bytesPending:uint
[somente leitura] Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | Flash Player 11, AIR 3.0 |
Indica o número de bytes restantes no buffer de gravação.
Use essa propriedade combinada ao OutputProgressEvent. Um OutputProgressEvent é lançado cada vez que os dados são gravados do buffer de gravação para a rede. No manipulador de eventos, você pode verificar bytesPending
para saber quantos dados restam no buffer aguardando para ser gravado. Quando bytesPending
retorna 0, isso significa que todos os dados foram transferidos do buffer de gravação para a rede, e é seguro realizar ações como remover manipuladores de evento, anular referências de soquete, iniciar o próximo carregamento na fila, etc.
Implementação
public function get bytesPending():uint
Elementos da API relacionados
connected | propriedade |
connected:Boolean
[somente leitura] Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Indica se este objeto Socket está conectado no momento. Uma chamada para essa propriedade retornará um valor true
se o soquete estiver atualmente conectado; caso contrário, retornará false
.
Implementação
public function get connected():Boolean
endian | propriedade |
endian:String
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Indica a ordem de byte para os dados. Os valores possíveis são constantes da classe flash.utils.Endian, Endian.BIG_ENDIAN
ou Endian.LITTLE_ENDIAN
.
O valor padrão é Endian.BIG_ENDIAN.
Implementação
public function get endian():String
public function set endian(value:String):void
Elementos da API relacionados
localAddress | propriedade |
localPort | propriedade |
objectEncoding | propriedade |
objectEncoding:uint
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Controla a versão do AMF usada ao gravar ou ler um objeto.
Implementação
public function get objectEncoding():uint
public function set objectEncoding(value:uint):void
Elementos da API relacionados
remoteAddress | propriedade |
remoteAddress:String
[somente leitura] Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 2 |
O endereço IP da máquina remota à qual este soquete está conectado.
Você pode usar esta propriedade para determinar o endereço IP de um soquete de cliente despachado em um ServerSocketConnectEvent por um objeto de ServerSocket. Use a classe DNSResolver para converter um endereço IP em um nome do domínio, se desejar.
Implementação
public function get remoteAddress():String
Elementos da API relacionados
remotePort | propriedade |
remotePort:int
[somente leitura] Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 2 |
A porta na máquina remota à qual este soquete está conectado.
Você pode usar esta propriedade para determinar o número de porta de um soquete de cliente despachado em um ServerSocketConnectEvent por um objeto de ServerSocket.
Implementação
public function get remotePort():int
Elementos da API relacionados
timeout | propriedade |
timeout:uint
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | Flash Player 10, AIR 1.5, Flash Lite 4 |
Indica o número de milissegundos de espera por uma conexão.
Se a conexão não for estabelecida dentro do tempo especificado, ela falhará. O valor padrão é 20.000 (20 segundos).
Implementação
public function get timeout():uint
public function set timeout(value:uint):void
Socket | () | Construtor |
public function Socket(host:String = null, port:int = 0)
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Cria um novo objeto Socket. Se nenhum parâmetro for especificado, um soquete inicialmente desconectado será criado. Se parâmetros forem especificados, uma conexão será tentada com o host e a porta especificados.
Observação: É altamente recomendável usar a forma do construtor sem parâmetros, adicionar os ouvintes de evento e chamar o método connect
com parâmetros host
e port
. Essa sequência garante que todos os ouvintes de evento funcionem corretamente.
host:String (default = null ) — Um nome de domínio DNS totalmente qualificado ou um endereço IP. Os endereços de IPv4 são especificados na notação de ponto e decimal, como 192.0.2.0. No Flash Player 9.0.115.0 e no AIR 1.0 e posteriores, você pode especificar endereços IPv6 usando notação hexadecimal e vírgula, como, 2001:db8:ccc3:ffff:0:444d:555e:666f. Você também pode especificar null para se conectar ao servidor host no qual reside o arquivo SWF. Se o arquivo SWF que emite essa chamada estiver em execução em um navegador da Web, o host deverá estar no mesmo domínio do qual o arquivo SWF se originou.
| |
port:int (default = 0 ) — O número da porta TCP no host de destino usado para estabelecer uma conexão. No Flash Player 9.0.124.0 e posteriores, o host de destino deve fornecer um arquivo de diretivas de soquete que especifique que são permitidas conexões de soquete do host que fornece o arquivo SWF com a porta especificada. Nas versões anteriores do Flash Player, será obrigatório um arquivo de diretivas de soquete somente para conectar-se a uma porta de número abaixo de 1024 ou para conectar-se a um host que não seja aquele que fornece o arquivo SWF.
|
Eventos
connect: — Despachado quando uma conexão de rede foi estabelecida.
| |
ioError: — Despachado quando ocorre um erro de entrada/saída que resulta na falha da conexão.
| |
securityError: —
Despachado se uma chamada ao Socket.connect() tentar conectar-se a um servidor que não fornece arquivo de diretivas de soquete ou a um servidor cujo arquivo de diretivas não concede ao host da chamada o acesso à porta especificada. Para obter mais informações sobre arquivos de política, consulte "controles de website (arquivos de política)" no Guia do Desenvolvedor do ActionScript 3.0 e o Tópico do Centro do Desenvolvedor do Flash Player: Security.
|
Lança
SecurityError — Esse erro ocorre no conteúdo SWF pelos seguintes motivos:
|
close | () | método |
public function close():void
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Fecha o soquete. Não será possível ler ou gravar dados após a chamada do método close()
.
O evento close
somente é despachado quando o servidor encerra a conexão; ele não é despachado quando você chama o método close()
.
Você pode reutilizar o objeto Socket chamando o método connect()
nesse objeto novamente.
Lança
IOError — O soquete não pôde ser fechado ou não estava aberto.
|
connect | () | método |
public function connect(host:String, port:int):void
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Conecta o soquete ao host e porta especificados.
Se a conexão falhar imediatamente, um evento será despachado ou uma exceção será lançada: um evento de erro será despachado se um host tiver sido especificado, e uma exceção será lançada se nenhum host tiver sido especificado. Caso contrário, o status da conexão será reportado por um evento. Se o soquete já estiver conectado, a conexão existente será encerrada primeiro.
Parâmetros
host:String — O nome ou o endereço IP do host para conexão. Se nenhum host for especificado, o host contatado será o host no qual reside o arquivo de chamada. Se você não especificar um host, use um ouvinte de evento para determinar se a conexão foi bem-sucedida.
| |
port:int — O número da porta para conexão.
|
Eventos
connect: — Despachado quando uma conexão de rede foi estabelecida.
| |
ioError: — Despachado se um host for especificado e se um ocorrer um erro de entrada/saída que resulte na falha da conexão.
| |
securityError: — Despachado se uma chamada ao Socket.connect() tentar conectar-se a um servidor que não fornece arquivo de diretivas de soquete ou a um servidor cujo arquivo de diretivas não concede ao host da chamada o acesso à porta especificada. Para obter mais informações sobre arquivos de política, consulte "controles de website (arquivos de política)" no Guia do Desenvolvedor do ActionScript 3.0 e o tópico do Centro do Desenvolvedor do Flash Player: Security.
|
Lança
IOError — Nenhum host foi especificado e a conexão falhou.
| |
SecurityError — Esse erro ocorre no conteúdo SWF pelos seguintes motivos:
|
flush | () | método |
public function flush():void
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Descarrega todos os dados acumulados no buffer de saída do soquete.
Em alguns sistemas operacionais, flush() é chamado automaticamente entre os quadros de execução, mas em outros sistemas operacionais, tais como o Windows, os dados nunca são despachados, a menos que você chame flush()
explicitamente. Pa assegurar que o aplicatio se comporte de maneira confiável em todos sistemas operacionais, é uma boa prática chamar o método flush()
depois de escrever cada mensagem (ou grupo de dados relacionado) para o soquete.
Lança
IOError — Ocorreu um erro de E/S no soquete ou o soquete não está aberto.
|
readBoolean | () | método |
public function readBoolean():Boolean
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Lê um valor booliano do soquete. Após a leitura de um único byte, o método retornará true
será o byte for diferente de zero; caso contrário, false
será retornado.
Boolean — Um valor de true se o byte lido for diferente de zero; caso contrário, false .
|
Lança
EOFError — Não há dados suficientes disponíveis para leitura.
| |
IOError — Ocorreu um erro de E/S no soquete ou o soquete não está aberto.
|
readByte | () | método |
public function readByte():int
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Lê um byte com sinal do soquete.
Retornaint — Um valor de -128 a 127.
|
Lança
EOFError — Não há dados suficientes disponíveis para leitura.
| |
IOError — Ocorreu um erro de E/S no soquete ou o soquete não está aberto.
|
readBytes | () | método |
public function readBytes(bytes:ByteArray, offset:uint = 0, length:uint = 0):void
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Lê o número de bytes de dados especificados pelo parâmetro de comprimento a partir do soquete. Os bytes são lidos na matriz de bytes especificada, começando na posição indicada por deslocamento
.
Parâmetros
bytes:ByteArray — O objeto ByteArray para a leitura de dados.
| |
offset:uint (default = 0 ) — O deslocamento no qual a leitura de dados deve começar na matriz de bytes.
| |
length:uint (default = 0 ) — O número de bytes a ser lido. O valor padrão de 0 permite a leitura de todos os dados disponíveis.
|
Lança
EOFError — Não há dados suficientes disponíveis para leitura.
| |
IOError — Ocorreu um erro de E/S no soquete ou o soquete não está aberto.
|
readDouble | () | método |
public function readDouble():Number
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Lê do soquete um número de ponto flutuante de precisão dupla IEEE 754.
RetornaNumber — Um número de ponto flutuante de precisão dupla IEEE 754
|
Lança
EOFError — Não há dados suficientes disponíveis para leitura.
| |
IOError — Ocorreu um erro de E/S no soquete ou o soquete não está aberto.
|
readFloat | () | método |
public function readFloat():Number
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Lê do soquete um número de ponto flutuante de precisão única IEEE 754.
RetornaNumber — Um número de ponto flutuante de precisão única IEEE 754
|
Lança
EOFError — Não há dados suficientes disponíveis para leitura.
| |
IOError — Ocorreu um erro de E/S no soquete ou o soquete não está aberto.
|
readInt | () | método |
public function readInt():int
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Lê um inteiro de 32 bits com sinal do soquete.
Retornaint — Um valor de -2147483648 a 2147483647.
|
Lança
EOFError — Não há dados suficientes disponíveis para leitura.
| |
IOError — Ocorreu um erro de E/S no soquete ou o soquete não está aberto.
|
readMultiByte | () | método |
public function readMultiByte(length:uint, charSet:String):String
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Lê uma string de vários bytes a partir do fluxo de bytes, usando o conjunto de caracteres especificado.
Parâmetros
length:uint — O número de bytes do fluxo de bytes para leitura.
| |
charSet:String — A string que denota o conjunto de caracteres usados para interpretar os bytes. As possíveis strings de conjuntos de caracteres incluem "shift_jis" , "CN-GB" e "iso-8859-1" . Para obter uma lista completa, consulte Conjuntos de caracteres com suporte.
Observação: se o valor do parâmetro |
String — Uma string codificada em UTF-8.
|
Lança
EOFError — Não há dados suficientes disponíveis para leitura.
|
readObject | () | método |
public function readObject():*
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Lê um objeto a partir do soquete, codificado no formato serializado AMF.
Retorna* — O objeto desserializado
|
Lança
EOFError — Não há dados suficientes disponíveis para leitura.
| |
IOError — Ocorreu um erro de E/S no soquete ou o soquete não está aberto.
|
Elementos da API relacionados
readShort | () | método |
public function readShort():int
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Lê um inteiro de 16 bits com sinal do soquete.
Retornaint — Um valor de -32768 a 32767.
|
Lança
EOFError — Não há dados suficientes disponíveis para leitura.
| |
IOError — Ocorreu um erro de E/S no soquete ou o soquete não está aberto.
|
readUnsignedByte | () | método |
public function readUnsignedByte():uint
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Lê um byte sem sinal do soquete.
Retornauint — Um valor de 0 a 255.
|
Lança
EOFError — Não há dados suficientes disponíveis para leitura.
| |
IOError — Ocorreu um erro de E/S no soquete ou o soquete não está aberto.
|
readUnsignedInt | () | método |
public function readUnsignedInt():uint
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Lê um inteiro de 32 bits sem sinal do soquete.
Retornauint — Um valor de 0 a 4294967295.
|
Lança
EOFError — Não há dados suficientes disponíveis para leitura.
| |
IOError — Ocorreu um erro de E/S no soquete ou o soquete não está aberto.
|
readUnsignedShort | () | método |
public function readUnsignedShort():uint
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Lê um inteiro de 16 bits sem sinal do soquete.
Retornauint — Um valor de 0 a 65535.
|
Lança
EOFError — Não há dados suficientes disponíveis para leitura.
| |
IOError — Ocorreu um erro de E/S no soquete ou o soquete não está aberto.
|
readUTF | () | método |
public function readUTF():String
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Lê uma string UTF-8 do soquete. Supõe-se que a string seja prefixada com um inteiro curto sem sinal que indique o comprimento em bytes.
RetornaString — Uma string UTF-8.
|
Lança
EOFError — Não há dados suficientes disponíveis para leitura.
| |
IOError — Ocorreu um erro de E/S no soquete ou o soquete não está aberto.
|
readUTFBytes | () | método |
public function readUTFBytes(length:uint):String
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Lê o número de bytes de dados UTF-8 especificados pelo parâmetro length
a partir do soquete e retorna uma string.
Parâmetros
length:uint — O número de bytes a ser lido.
|
String — Uma string UTF-8.
|
Lança
EOFError — Não há dados suficientes disponíveis para leitura.
| |
IOError — Ocorreu um erro de E/S no soquete ou o soquete não está aberto.
|
writeBoolean | () | método |
public function writeBoolean(value:Boolean):void
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Grava um valor booliano no soquete. Esse método grava um único byte, com um valor de 1 (true
) ou 0 (false
).
Parâmetros
value:Boolean — O valor a ser gravado no soquete: 1 (true ) ou 0 (false ).
|
Lança
IOError — Ocorreu um erro de E/S no soquete ou o soquete não está aberto.
|
Elementos da API relacionados
writeByte | () | método |
public function writeByte(value:int):void
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Grava um byte no soquete.
Parâmetros
value:int — O valor a ser gravado no soquete. Os 8 bits inferiores do valor são usados e os 24 bits superiores são ignorados.
|
Lança
IOError — Ocorreu um erro de E/S no soquete ou o soquete não está aberto.
|
Elementos da API relacionados
writeBytes | () | método |
public function writeBytes(bytes:ByteArray, offset:uint = 0, length:uint = 0):void
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Grava uma sequência de bytes a partir da matriz de bytes especificada. A operação de gravação começa na posição especificada por deslocamento
.
Se você omitir o parâmetro comprimento
, o comprimento padrão de 0 fará com que o método grave o buffer inteiro, começando em deslocamento
.
Se você também omitir o parâmetro deslocamento
, o buffer inteiro será gravado.
Parâmetros
bytes:ByteArray — O objeto ByteArray do qual grava os dados.
| |
offset:uint (default = 0 ) — O deslocamento com base em zero no objeto ByteArray bytes no qual a gravação de dados deve começar.
| |
length:uint (default = 0 ) — O número de bytes a serem gravados. O valor padrão de 0 faz com que o buffer inteiro seja gravado, começando no valor especificado pelo parâmetro deslocamento .
|
Lança
IOError — Ocorreu um erro de E/S no soquete ou o soquete não está aberto.
| |
RangeError — Se offset for maior do que o comprimento do ByteArray especificado em bytes ou se a quantidade de dados especificados para ser gravado por offset mais lenght excede os dados disponíveis.
|
Elementos da API relacionados
writeDouble | () | método |
public function writeDouble(value:Number):void
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Grava no soquete um número de ponto flutuante de precisão dupla IEEE 754.
Parâmetros
value:Number — O valor a ser gravado no soquete.
|
Lança
IOError — Ocorreu um erro de E/S no soquete ou o soquete não está aberto.
|
Elementos da API relacionados
writeFloat | () | método |
public function writeFloat(value:Number):void
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Grava no soquete um número de ponto flutuante de precisão única IEEE 754.
Parâmetros
value:Number — O valor a ser gravado no soquete.
|
Lança
IOError — Ocorreu um erro de E/S no soquete ou o soquete não está aberto.
|
Elementos da API relacionados
writeInt | () | método |
public function writeInt(value:int):void
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Grava um inteiro de 32 bits com sinal no soquete.
Parâmetros
value:int — O valor a ser gravado no soquete.
|
Lança
IOError — Ocorreu um erro de E/S no soquete ou o soquete não está aberto.
|
Elementos da API relacionados
writeMultiByte | () | método |
public function writeMultiByte(value:String, charSet:String):void
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Grava uma string de vários bytes a partir do fluxo de bytes, usando o conjunto de caracteres especificado.
Parâmetros
value:String — O valor da string para gravar.
| |
charSet:String — A string que denota o conjunto de caracteres usados para interpretar os bytes. As possíveis strings de conjuntos de caracteres incluem "shift_jis" , "CN-GB" e "iso-8859-1" . Para obter uma lista completa, consulte Conjuntos de caracteres com suporte.
|
Elementos da API relacionados
writeObject | () | método |
public function writeObject(object:*):void
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Grava um objeto no soquete no formato serializado AMF.
Parâmetros
object:* — O objeto a ser serializado.
|
Lança
IOError — Ocorreu um erro de E/S no soquete ou o soquete não está aberto.
|
Elementos da API relacionados
writeShort | () | método |
public function writeShort(value:int):void
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Grava um inteiro de 16 bits no soquete. Os bytes gravados são os seguintes:
(v >> 8) & 0xff v & 0xff
Os 16 bits inferiores do parâmetro são usados e os 16 bits superiores são ignorados.
Parâmetros
value:int — O valor a ser gravado no soquete.
|
Lança
IOError — Ocorreu um erro de E/S no soquete ou o soquete não está aberto.
|
Elementos da API relacionados
writeUnsignedInt | () | método |
public function writeUnsignedInt(value:uint):void
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Grava um inteiro de 32 bits sem sinal no soquete.
Parâmetros
value:uint — O valor a ser gravado no soquete.
|
Lança
IOError — Ocorreu um erro de E/S no soquete ou o soquete não está aberto.
|
Elementos da API relacionados
writeUTF | () | método |
public function writeUTF(value:String):void
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Grava os seguintes dados no soquete: um inteiro de 16 bits sem sinal, que indica o comprimento da string UTF-8 especificada em bytes, seguido da string propriamente dita.
Antes de gravar a string, o método calcula o número de bytes necessários para representar todos os caracteres da string.
Parâmetros
value:String — A string a ser gravada no soquete.
|
Lança
RangeError — O comprimento é maior do que 65535.
| |
IOError — Ocorreu um erro de E/S no soquete ou o soquete não está aberto.
|
Elementos da API relacionados
writeUTFBytes | () | método |
public function writeUTFBytes(value:String):void
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Grava uma string UTF-8 no soquete.
Parâmetros
value:String — A string a ser gravada no soquete.
|
Lança
IOError — Ocorreu um erro de E/S no soquete ou o soquete não está aberto.
|
Elementos da API relacionados
close | Evento |
flash.events.Event
propriedade Event.type =
flash.events.Event.CLOSE
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Despachado quando o servidor fecha a conexão de soquete.
O evento close
somente é despachado quando o servidor encerra a conexão; ele não é despachado quando você chama o método Socket.close()
.
Event.CLOSE
define o valor da propriedade type
de um objeto de evento close
.
Esse evento tem as seguintes propriedades:
Propriedade | Valor |
---|---|
bubbles | false |
cancelable | false ; não há comportamento padrão a ser cancelado. |
currentTarget | O objeto que está processando ativamente o objeto Event com um ouvinte de evento. |
target | O objeto cuja conexão foi fechada. |
connect | Evento |
flash.events.Event
propriedade Event.type =
flash.events.Event.CONNECT
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Despachado quando uma conexão de rede foi estabelecida.
A constanteEvent.CONNECT
define o valor da propriedade type
de um objeto de evento connect
.
Esse evento tem as seguintes propriedades:
Propriedade | Valor |
---|---|
bubbles | false |
cancelable | false ; não há comportamento padrão a ser cancelado. |
currentTarget | O objeto que está processando ativamente o objeto Event com um ouvinte de evento. |
target | O soquete ou objeto XMLSocket que estabeleceu uma conexão de rede. |
ioError | Evento |
flash.events.IOErrorEvent
propriedade IOErrorEvent.type =
flash.events.IOErrorEvent.IO_ERROR
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Despachado quando ocorre um erro de entrada/saída que resulta na falha de uma operação de envio ou carregamento.
Define o valor da propriedadetype
de um objeto de evento ioError
.
Esse evento tem as seguintes propriedades:
Propriedade | Valor |
---|---|
bubbles | false |
cancelable | false ; não há comportamento padrão a ser cancelado. |
currentTarget | O objeto que está processando ativamente o objeto Event com um ouvinte de evento. |
errorID | Um número de referência associado ao erro específico (somente AIR). |
target | O objeto de rede que está recebendo o erro de entrada/saída. |
text | Texto a ser exibido como uma mensagem de erro. |
outputProgress | Evento |
flash.events.OutputProgressEvent
Despachado quando um soquete move dados do buffer de gravação para a camada de transporte de rede
securityError | Evento |
flash.events.SecurityErrorEvent
propriedade SecurityErrorEvent.type =
flash.events.SecurityErrorEvent.SECURITY_ERROR
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Despachado se uma chamada de Socket.connect()
tentar se conectar a um servidor proibido pela caixa de proteção do autor da chamada ou a uma porta inferior a 1024 e não houver nenhum arquivo de política de soquete para permitir esta conexão.
Nota: em um aplicativo AIR, o conteúdo executado dentro da área de segurança do aplicativo pode se conectar a qualquer servidor e número de porta sem um arquivo de diretiva de soquete.
A constanteSecurityErrorEvent.SECURITY_ERROR
define o valor da propriedade type
de um objeto de evento securityError
.
Esse evento tem as seguintes propriedades:
Propriedade | Valor |
---|---|
bubbles | false |
cancelable | false ; não há comportamento padrão a ser cancelado. |
currentTarget | O objeto que está processando ativamente o objeto Event com um ouvinte de evento. |
target | O objeto de rede que reporta o erro de segurança. |
text | Texto a ser exibido como uma mensagem de erro. |
Elementos da API relacionados
socketData | Evento |
flash.events.ProgressEvent
propriedade ProgressEvent.type =
flash.events.ProgressEvent.SOCKET_DATA
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Despachado quando um soquete recebeu dados.
Os dados recebidos pelo soquete permanecem no soquete até serem lidos. Não é preciso ler todos os dados disponíveis durante o manipulador deste evento.
Eventos do tipo socketData
não usam a propriedade ProgressEvent.bytesTotal
.
type
de um objeto de evento socketData
.
Esse evento tem as seguintes propriedades:
Propriedade | Valor |
---|---|
bubbles | false |
cancelable | false ; não há comportamento padrão a ser cancelado. |
currentTarget | O objeto que está processando o Event ativamente. |
bytesLoaded | O número de itens ou bytes carregados no momento em que o ouvinte processa o evento. |
bytesTotal | 0; esta propriedade não é usada pelos objetos socketData . |
target | O soquete que está reportando o progresso. |
- O construtor cria uma ocorrência de
CustomSocket
denominadasocket
e transmite o nome do hostlocalhost
e a porta 80 como argumentos. Como oCustomSocket
estende Socket, uma chamada dosuper()
chama o construtor de Socket. - O exemplo chama o método
configureListeners()
, que adiciona ouvintes para eventos Socket. - Por fim, o método
connect()
de soquete é chamado comhostlocal
como o nome do host e 80 como o número da porta.
Observação: Para executar o exemplo, você precisa de um servidor em execução no mesmo domínio em que reside o SWF (no exemplo, localhost
) e monitorando na porta 80.
package { import flash.display.Sprite; public class SocketExample extends Sprite { private var socket:CustomSocket; public function SocketExample() { socket = new CustomSocket("localhost", 80); } } } import flash.errors.*; import flash.events.*; import flash.net.Socket; class CustomSocket extends Socket { private var response:String; public function CustomSocket(host:String = null, port:uint = 0) { super(); configureListeners(); if (host && port) { super.connect(host, port); } } private function configureListeners():void { addEventListener(Event.CLOSE, closeHandler); addEventListener(Event.CONNECT, connectHandler); addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler); addEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler); addEventListener(ProgressEvent.SOCKET_DATA, socketDataHandler); } private function writeln(str:String):void { str += "\n"; try { writeUTFBytes(str); } catch(e:IOError) { trace(e); } } private function sendRequest():void { trace("sendRequest"); response = ""; writeln("GET /"); flush(); } private function readResponse():void { var str:String = readUTFBytes(bytesAvailable); response += str; } private function closeHandler(event:Event):void { trace("closeHandler: " + event); trace(response.toString()); } private function connectHandler(event:Event):void { trace("connectHandler: " + event); sendRequest(); } private function ioErrorHandler(event:IOErrorEvent):void { trace("ioErrorHandler: " + event); } private function securityErrorHandler(event:SecurityErrorEvent):void { trace("securityErrorHandler: " + event); } private function socketDataHandler(event:ProgressEvent):void { trace("socketDataHandler: " + event); readResponse(); } }
Wed Jun 13 2018, 11:10 AM Z