| Welcome, Guest |
You have to register before you can post on our site.
|
| Online Users |
There are currently 496 online users. » 2 Member(s) | 491 Guest(s) Applebot, Bing, Google, bongdaaoorg, jlbdtclubb
|
| Latest Threads |
Need Help Integrating Mic...
Forum: IntraWeb General Discussion
Last Post: capheny
07-07-2026, 06:43 AM
» Replies: 0
» Views: 53
|
OpenSSL and concurrent re...
Forum: Indy
Last Post: kbriggs
07-05-2026, 02:41 PM
» Replies: 5
» Views: 218
|
Projeto Intraweb
Forum: IntraWeb General Discussion
Last Post: vonirpereira
07-03-2026, 06:51 PM
» Replies: 0
» Views: 112
|
Intraweb + Lazarus
Forum: IntraWeb Dúvidas Gerais
Last Post: vonirpereira
07-03-2026, 06:35 PM
» Replies: 0
» Views: 67
|
Image question on tiwjqdb...
Forum: IntraWeb General Discussion
Last Post: alex.trejo@tttnet.com.mx
07-01-2026, 12:19 AM
» Replies: 4
» Views: 4,297
|
TIWjQDBGrid erratic behav...
Forum: IntraWeb General Discussion
Last Post: alex.trejo@tttnet.com.mx
07-01-2026, 12:04 AM
» Replies: 4
» Views: 654
|
CSS file not reloading af...
Forum: IntraWeb General Discussion
Last Post: Gustave
06-30-2026, 09:00 PM
» Replies: 0
» Views: 117
|
IW 16.2.0 Missing librari...
Forum: IntraWeb General Discussion
Last Post: Gregory_Twedt
06-24-2026, 04:40 AM
» Replies: 5
» Views: 826
|
VCL conversion
Forum: Delphi General Discussion
Last Post: tobenschain
06-20-2026, 05:00 AM
» Replies: 0
» Views: 149
|
TIWjQDBGrid changing UI
Forum: IntraWeb General Discussion
Last Post: BoostedCruiser
06-08-2026, 02:02 AM
» Replies: 36
» Views: 71,026
|
|
|
| Openions about this udp server |
|
Posted by: Madammar - 12-02-2019, 02:23 AM - Forum: Indy
- Replies (1)
|
 |
i have built a udp server for multibale streaming and i need an expert openion about it
if it reliable or it can be enhanced
Code: unit udpaudio;
interface
uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Vcl.ExtCtrls, IdUDPServer,
IdGlobal, IdSocketHandle, IdBaseComponent, IdComponent, IdUDPBase, DateUtils;
type
TForm1 = class(TForm)
Panel1: TPanel;
Button1: TButton;
Button2: TButton;
Edit1: TEdit;
udpserver: TIdUDPServer;
Memo1: TMemo;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure FormDestroy(Sender: TObject);
procedure udpserverUDPRead(AThread: TIdUDPListenerThread;
const AData: TIdBytes; ABinding: TIdSocketHandle);
private
procedure AddnewClient(ipada: string; porta, serverprta: integer);
procedure Leave(ipada: string; porta, serverprta: integer);
procedure broadcatstoClients(ABinding: TIdSocketHandle; ipada: string; porta,
serverprta: integer; const AData: TIdBytes);
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
uses Constant, crypto;
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var
Binding: TIdSocketHandle;
SQL : string;
Row_Count : integer;
begin
udpserver.DefaultPort := StrToInt(Edit1.Text);
udpserver.Bindings.Clear;
Binding := udpserver.Bindings.Add;
Binding.IP := '0.0.0.0';
Binding.Port := 5458;
udpserver.Active := false;
udpserver.Active := True;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
udpserver.Active := false;
AllAUDIO.Clear;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
if not Assigned(AllAUDIO) then
begin
AllAUDIO := TThreadList.Create;
end;
end;
procedure TForm1.FormDestroy(Sender: TObject);
begin
if Assigned(AllAUDIO) then
begin
FreeAndNil(AllAUDIO);
end;
end;
procedure TForm1.broadcatstoClients(ABinding: TIdSocketHandle; ipada : string; porta, serverprta : integer; const AData: TIdBytes);
var
AUDIOLIST : TAUDIOLIST;
c : integer;
List : Tlist;
begin
if not Assigned(AllAUDIO) then
begin
exit;
end;
list := AllAUDIO.LockList;
try
for c := 0 to list.Count - 1 do
begin
AUDIOLIST := list.Items[c];
if (AUDIOLIST.userserverPort = serverprta)
And (AUDIOLIST.Logged = 'YES')
And (AUDIOLIST.userport <> porta) then
begin
Abinding.SendTo(AUDIOLIST.userip, AUDIOLIST.userport, Adata);
end;
end;
finally
AllAUDIO.UnlockList;
end;
end;
procedure TForm1.Leave(ipada : string; porta, serverprta : integer);
var
AUDIOLIST : TAUDIOLIST;
i : integer;
List : Tlist;
begin
if not Assigned(AllAUDIO) then
begin
exit;
end;
list := AllAUDIO.LockList;
try
for I := 0 to list.Count - 1 do
begin
AUDIOLIST := list.Items[I];
if (AUDIOLIST.userport = porta)
And (AUDIOLIST.userip = ipada)
And (AUDIOLIST.userserverPort = serverprta) then
begin
if (AUDIOLIST.Logged = 'YES') then
begin
list.Delete(i);
end;
break;
end;
end;
finally
AllAUDIO.UnlockList;
end;
end;
procedure TForm1.AddnewClient(ipada : string; porta, serverprta : integer);
var
AUDIOLIST : TAUDIOLIST;
begin
if not Assigned(AllAUDIO) then
begin
exit;
end;
list := AllAUDIO.LockList;
try
AUDIOLIST := TAUDIOLIST.Create;
AUDIOLIST.userip := ipada;
AUDIOLIST.userport := porta;
AUDIOLIST.userserverPort := serverprta;
AUDIOLIST.Logged := 'YES';
AllAUDIO.Add(AUDIOLIST);
finally
AllAUDIO.UnlockList;
end;
end;
procedure TForm1.udpserverUDPRead(AThread: TIdUDPListenerThread;
const AData: TIdBytes; ABinding: TIdSocketHandle);
var
I : integer;
datastring, command, CMDID: string;
ParamsCount: integer;
Params: TArray<String>;
isstream : string;
begin
datastring := bytestostring(AData);
isstream := 'YES';
if datastring[1] = '1' then
begin
datastring := Copy(datastring, 2, MaxInt);
command := Decryptstrs(datastring);
if (command.Length > 0) And (Pos('~', command) > 0) then
begin
Params := command.Split(['~']);
end;
ParamsCount := 0;
ParamsCount := Length(Params);
if ParamsCount > 0 then
begin
CMDID := Params[0];
end;
if ParamsCount = 1 then
begin
if CMDID = 'Enter' then
begin
isstream := 'NO';
AddnewClient(ABinding.PeerIP, ABinding.PeerPort, ABinding.Port);
end;
end;
end else
begin
CMDID := copy(datastring,1,pos('~',datastring)-1);//parse
if CMDID = 'Leave' then
begin
isstream := 'NO';
Leave(ABinding.PeerIP, ABinding.PeerPort, ABinding.Port);
end else
begin
if (isstream <> 'NO') then
begin
broadcatstoClients(Abinding, ABinding.PeerIP, ABinding.PeerPort, ABinding.Port, AData);
end;
end;
end;
end;
end.
is it an efficient way to be written like that ?
|
|
|
| Intraweb for Rest API POST |
|
Posted by: ShaneStump - 11-25-2019, 08:05 PM - Forum: IntraWeb General Discussion
- Replies (11)
|
 |
Howdy All!
I am exposing my web reservation system to Viator and I need to implement a REST api around my internal classes.
I have written content handlers for each REST api call with the appropriate path.
I am using Advanced REST Client to test my application running as a service.
I put my URL and method to POST. I copy my XML for processing into the Body of the request and issue it.
From within the C++ Builder IDE, I set and get a breakpoint on handler's Execute().
I can't see anywhere in the THttpRequest object where the content passed in is.
How do I read / fetch it from within my event?
Thanks in advance,
Shane
|
|
|
| What is the default bgcolor of an IWEdit ? |
|
Posted by: SorenJensen - 11-25-2019, 11:02 AM - Forum: IntraWeb General Discussion
- Replies (2)
|
 |
Hi Guys,
When starting the application, IWdit fields are white background with black text. In the properties bgcolor is by default "clNone" for both bgColor and font.Color.
If I want to change the bgColor to say clWebRed, and then change it back again, setting it to clNone, do not change it. However setting it to clWebWhite do, so my question is, which "clxxx" color should I use to reset the bgColor (and Font.Color) to the standard color ?
Or is there another way to reset the colors of an individual IWEdit field ?
Regards
Soren
|
|
|
| Web Application Firewall (WAF) with IntraWeb |
|
Posted by: magosk - 11-25-2019, 10:07 AM - Forum: IntraWeb General Discussion
- Replies (4)
|
 |
Hi. In order to pass certain web application security tests without remarks, some (e.g. those that check compliance against the Payment Card Industry Data Security Standard) require a Web Application Firewall (WAF) to be present between the clients and the web application server. I have no experience with this, so here are some questions:
1. Is this a reasonable requirement, or does IntraWeb have built-in security that protects against the same things as an external WAF?
2. Does anyone have experience with using a WAF in front of one or more IntraWeb web applications? Any issues you can run into?
3. My understanding is that there are hardware, software and cloud based solutions for WAF. Any recommendations on which type to choose? Any particular product/service that you can recommend?
Feedback on this would be much appreciated!
Best regards
Magnus Oskarsson
|
|
|
| SMTP, Sender header, and non-ASCII characters |
|
Posted by: Midiar - 11-22-2019, 12:55 PM - Forum: Indy
- Replies (1)
|
 |
In TIdMessage.GenerateHeader, the From header is set using EncodeAddress, so non-ASCII characters are displayed correctly.
The Sender header, however, is set directly, so that non-ASCII characters in TIdMessage.Sender.Name are substituted by "?".
Is that by design? Because of a standard, or because of actual behaviour by servers?
::tor
|
|
|
|