祝福国家强大 發表於 2023-6-8 10:09:00

WebSocket-scgWebSocket For Delphi

<h4 id="sgcwebsocket-组件作为商业组件相对比较成熟今天研究一下参考官网地址httpswwwesegececom">sgcWebSocket 组件作为商业组件,相对比较成熟,今天研究一下,参考官网地址:https://www.esegece.com</h4>
<ul>
<li>
<h5 id="服务端">服务端</h5>
</li>
</ul>
<blockquote>
<blockquote>
<blockquote>
<p>sgcWebSocketServer<br>
属性:Bindings增加监听socket配置监听Ip地址和端口<br>
Active   激活监听功能<br>
方法:OnConnect客户端连接到服务端时触发的方法<br>
OnMessage收到客户端消息时触发的方法<br>
至此,一个简单的WebSocket服务端已经实现了。</p>
</blockquote>
</blockquote>
</blockquote>
<p>源码:</p>
<pre><code class="language-delphi">unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, sgcBase_Classes, sgcSocket_Classes, sgcTCP_Classes,
sgcWebSocket_Classes, sgcWebSocket_Server, sgcWebSocket, StdCtrls;

type
TForm1 = class(TForm)
    Button1: TButton;
    sgcWebSocketServer1: TsgcWebSocketServer;
    procedure Button1Click(Sender: TObject);
    procedure sgcWebSocketServer1Message(Connection: TsgcWSConnection;
      const Text: String);
    procedure sgcWebSocketServer1Connect(Connection: TsgcWSConnection);
private
    { Private declarations }
public
    { Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
sgcWebSocketServer1.Active:=True;
Button1.Caption:='Stop';
end;

procedure TForm1.sgcWebSocketServer1Message(Connection: TsgcWSConnection;
const Text: String);
begin
ShowMessage('Message Received From Client:'+text);
end;

procedure TForm1.sgcWebSocketServer1Connect(Connection: TsgcWSConnection);
begin
Caption:='Connected!';
end;

end.

</code></pre>
<ul>
<li>
<h5 id="客户端">客户端</h5>
</li>
</ul>
<blockquote>
<blockquote>
<blockquote>
<p>sgcWebSocketClient<br>
属性:Host服务端地址<br>
Port服务端端口<br>
Active 激活连接<br>
事件:WriteData()   发送数据</p>
</blockquote>
</blockquote>
</blockquote>
<p>源码</p>
<pre><code class="language-Delphi">unit Unit2;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, sgcBase_Classes, sgcSocket_Classes, sgcTCP_Classes,
sgcWebSocket_Classes, sgcWebSocket_Classes_Indy, sgcWebSocket_Client,
sgcWebSocket;

type
TForm2 = class(TForm)
    sgcWebSocketClient1: TsgcWebSocketClient;
    Button1: TButton;
    Edit1: TEdit;
    Button2: TButton;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
private
    { Private declarations }
public
    { Public declarations }
end;

var
Form2: TForm2;

implementation

{$R *.dfm}

procedure TForm2.Button1Click(Sender: TObject);
begin
sgcWebSocketClient1.Active:=True;
Button1.Enabled:=False;
Button2.Enabled:=True;
end;

procedure TForm2.Button2Click(Sender: TObject);
begin
   sgcWebSocketClient1.WriteData('Hello Server From VCL Client');
end;

end.

</code></pre>
<p><img src="https://img2023.cnblogs.com/blog/391359/202306/391359-20230608100836048-737745721.png" alt="image" loading="lazy"></p><br><br>
来源:https://www.cnblogs.com/sundh1981/p/17465404.html
頁: [1]
查看完整版本: WebSocket-scgWebSocket For Delphi