IndyWebSocket
所属分类:网络编程
开发工具:Pascal
文件大小:435KB
下载次数:78
上传日期:2016-08-20 19:29:57
上 传 者:
lapinoir
说明: WebSocket support for Delphi VCL/FMX (All versions)
文件列表:
IndyWebSocket (0, 2016-03-03)
... ...
# Indy WebSocket
WebSocket and Socket.io for Delphi (FMX and VCL)
Example:
```delphi
uses
IdWebSocketServer, IdHTTPWebSocketClient, IdSocketIOHandling,
SuperObject;
var
WSServer: TIdWebSocketServer;
WSClient: TIdHTTPWebSocketClient;
procedure TMainForm.FormCreate(Sender: TObject);
begin
//Create server
WSServer := TIdWebSocketServer.Create(Self);
WSServer.DefaultPort := 12345;
WSServer.SocketIO.OnEvent(
cClientToServerEvent,
procedure(const ASocket: ISocketIOContext; const AArgument: TSuperArray; const ACallback: ISocketIOCallback)
begin
AddMsgToMemo('SERVER', 'Request from Client - ' + AArgument.ToString);
end
);
WSServer.Active := True;
//Create client
WSClient := TIdHTTPWebSocketClient.Create(Self);
WSClient.Port := 12345;
WSClient.Host := 'localhost';
WSClient.SocketIOCompatible := True;
WSClient.SocketIO.OnEvent(
cServerToClientEvent,
procedure(const ASocket: ISocketIOContext; const AArgument: TSuperArray; const ACallback: ISocketIOCallback)
begin
AddMsgToMemo('CLIENT', 'Request from Server - ' + AArgument.ToString);
end
);
WSClient.Connect;
end;
procedure TMainForm.AddMsgToMemo(ASenderName: String; AMsg: String);
begin
TThread.Synchronize(nil,
procedure
begin
MsgMemo.Lines.Add(Format('[%s] %s', [ASenderName, AMsg]));
end
);
end;
procedure TMainForm.StoCButtonClick(Sender: TObject);
begin
WSServer.SocketIO.EmitEventToAll(cServerToClientEvent, SO(['request', StoCEdit.Text]));
end;
procedure TMainForm.CtoSButtonClick(Sender: TObject);
begin
WSClient.SocketIO.Emit(cClientToServerEvent, SO(['request', CtoSEdit.Text]));
end;
```
近期下载者:
相关文件:
收藏者: