websockets

alguem aqui ja desenvolveu alguma app win/mac para comunicar por websocket ?

tanto cliente como servidor

Boa Tarde,

Eu ainda no desenvolvi mas tenho um projeto de uma ferramenta simples para gerenciar um laboratrio.

J desenvolvi uma ferramenta em visual basic para fazer isso. Quero fazer agora no Xojo.

Outra ferramenta que fiz em VB foi um chat interno. Acho que d pra fazer tranquilamente aqui tambm

Tiago

Ol, Em VB h muita literatura disponivel na web, d para fazer mais facilmente.

Em Xojo so consigo fazer o Protocol Upgrade, e consigo receber mensagens do Servidor, mas nao consigo nem enviar mensagens para o Servidor, nem distinguir uma mensagem de um opCode tipo Ping, etc …

Estou a tentar escrever um cliente em Xojo

Opa,

Pois . Devo trabalhar essa semana com o websockects. Se eu tiver qualquer novidade te aviso. J checou os exemplos providos pelo Xojo? No tem nada?

Abs

Boa! Mas nada de exemplos, e os que ha sao para protocolos antigos ou para intranet.

O novo protocolo bastante bom. Eu sei fazer cliente e servidor em PHP, e secalhar vou tentar em VB para depois copiar para Xojo porque nao estou a conseguir assim.

Ok Walter. Pelo que vi tem o TCPSockets e o EasyTCPSockets. Eu realmente at hoje ainda no os usei.

Caso tenha progresso poste aqui! Boa Sorte!

Abs

O EasyTCP nao funcionou comigo por isso usei TCPSocket (sem Super). Mude conforme suas definicoes IP/Porta.

Codigo do botao connect:

[code] TCPSocket1.Address = “127.0.0.1”
TCPSocket1.Port = 9300

//Print is a method that writes a new row of text into a TextField
Listbox1.AddRow (“Connecting…”)

//connect the socket
TCPSocket1.Connect[/code]

O Handshake coloquei dentro do TCPSocket1.Connected

[code] Listbox1.AddRow “Connected Event Fired!”

// generates the random key
Dim source As String = “abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890”
Dim chrstr,num As String
Dim NumChar,start,i As Integer
NumChar = source.Len( )
for i = 1 To 16
Dim r as New Random
start = r.InRange( 1, NumChar )
num = source.Mid( start, 1 )
chrstr = chrstr + num
Next
Dim webSocketKey As String = EncodeBase64(chrstr, 0)

// send headers
Dim headers As New InternetHeaders
headers.SetHeader(“Upgrade:”, “WebSocket”)
headers.SetHeader(“Connection:”, “Upgrade”)
headers.SetHeader(“Origin:”, “http://localhost”)
headers.SetHeader(“Host”, “127.0.0.1”)
headers.SetHeader(“Sec-WebSocket-Version”, “13”)
headers.SetHeader(“Sec-WebSocket-Key”, webSocketKey)

Dim HTTPmessage As String = “GET / HTTP/1.1” + EndOfLine.Windows

HTTPmessage = HTTPmessage + headers.Source + EndOfLine.Windows + EndOfLine.Windows

me.Write HTTPmessage[/code]

o que tenho por agora. Este sujeito tem umas funcoes mas nao sei bem como usa-las: http://www.monkeybreadsoftware.net/network-websockethelpermbs.shtml

Falta responder aos Pings do Servidor porque esta ligacao assim com este codigo desligada pelo Servidor passado algum tempo porque nao esta respondendo aos pings.