如何使用IdTCPServer或IdTCPClient获得当前带宽速度?
我想知道,客户端从服务器下载数据的速度有多快?
例如:下载速度:450 kbps
我正在尝试通过PHP套接字发送和接收数据.
Evrything还可以,但是当我试图发送数据时,PHP不会发送任何内容(Wireshark告诉我发送的数据长度为0).
我正在使用此代码:
<?php
$address = 'example.com';
$port = 1234;
$sock = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
$sockconnect = socket_connect($sock, $address, $port);
$c = 0;
do {
$c++;
$msg = '<test>Xml data</test>';
socket_write($sock, $msg, strlen($msg));
echo socket_read($sock, 1024 * 100, PHP_NORMAL_READ);
} while ($c < 3);
socket_close($sock);
Run Code Online (Sandbox Code Playgroud)
谁能帮我?感谢您阅读我的问题.
我需要您的帮助,我已经实例化了所有关系表,但是当我要创建关系表时,它向我发送“错误:1071 指定的密钥太长:最大密钥长度为 3072 字节”
到目前为止我的代码:
CREATE TABLE tablahechos(
id_almacenf VARCHAR(255) NOT NULL,
id_productof VARCHAR(255) NOT NULL,
id_categoriaf VARCHAR(255) NOT NULL,
id_transaccionf VARCHAR(255) NOT NULL,
id_tipo_serviciof VARCHAR(255) NOT NULL,
id_mensajerof VARCHAR(255) NOT NULL,
id_clientef VARCHAR(255) NOT NULL,
id_tiempo_fecha_orden VARCHAR(255) NOT NULL,
id_tiempo_fecha_reserva_entrada VARCHAR(255) NOT NULL,
id_tiempo_fecha_reserva_salida VARCHAR(255) NOT NULL,
id_tiempo_fecha_inventario_entrada VARCHAR(255) NOT NULL,
id_tiempo_fecha_inventario_salida VARCHAR(255) NOT NULL,
id_tiempo_fecha_envio VARCHAR(255) NOT NULL,
id_tiempo_fecha_facturacion VARCHAR(25) NOT NULL,
id_tiempo_fecha_cancelada VARCHAR(255) NOT NULL,
para_regalo VARCHAR(45) NOT NULL,
monto_unitario VARCHAR(255) NOT NULL,
monto_total VARCHAR(45) NOT NULL, …Run Code Online (Sandbox Code Playgroud) 我的环境:C++ Builder XE4
FormB是否可以知道FormB是用Show()还是ShowModal()显示的?
在FormA:
void __fastcall TFormA::Button1Click(TObject *Sender)
{
FormB->Show();
// FormB->ShowModal();
}
Run Code Online (Sandbox Code Playgroud)
在FormB:
void __fastcall TFormB::FormShow(TObject *Sender)
{
// with some if sentence to know Show() or ShowModal()
}
Run Code Online (Sandbox Code Playgroud) 这是我的问题:我想创建一个记录类型,其中在变体记录的情况下,一些(但不是全部)将具有某个字段.根据维基,这是完全合法的.然而,当我尝试编译以下代码时:
program example;
{$mode objfpc}{$H+}
uses sysutils;
type
maritalStates = (single, married, widowed, divorced);
TPerson = record
name: record
first, middle, last: string;
end;
sex: (male, female);
dob: TDateTime;
case maritalStatus: maritalStates of
single: ( );
married, widowed: (marriageDate: TDateTime);
divorced: (marriageDate, divorceDate: TDateTime;
isFirstDivorce: boolean)
end;
var
ExPerson: TPerson;
begin
ExPerson.name.first := 'John';
ExPerson.name.middle := 'Bob';
ExPerson.name.last := 'Smith';
ExPerson.sex := male;
ExPerson.dob := StrToDate('05/05/1990');
ExPerson.maritalStatus := married;
ExPerson.marriageDate := StrToDate('04/01/2015');
end.
Run Code Online (Sandbox Code Playgroud)
编译失败,出现以下错误:
$ fpc ex.pas
Free …Run Code Online (Sandbox Code Playgroud) 我最近在新计算机上安装了Microsoft VS 2105 Professional(Update 3),我遇到了一种奇怪的行为.每当我尝试调试程序时,当我停止调试器时,它会尝试访问我的DVD驱动器,这既奇怪又烦人.除了我通常的日常项目之外,我尝试使用干净的"Hello World"风格的C++和C#项目,并且它仍然表现相同.
我已禁用诊断工具(工具 - >选项 - >调试 - >在调试时禁用启用诊断工具)并在安全模式下运行VS(devenv/SafeMode)但问题仍然存在.我使用"进程监视器"来识别触发访问DVD驱动器的程序,显然"StandardCollector.Service.exe"是罪魁祸首.您可以从下面的Process Monitor中找到日志(我删除了时间和PID列).我知道有一些报告的问题(内存)与这个特定的过程(StandardCollector.Service.exe),但为什么它试图创建/访问我的DVD驱动器上的文件对我来说是一个谜.我的操作系统是Windows 10家庭版.有人可以为这个问题建议任何诊断或解决方案吗?
这种行为仅在Visual Studio停止调试过程时发生,而不是任何其他程序(Windows在启动时也是如此,但我认为这很自然).我需要补充一点,如果我禁用然后从设备管理器启用DVD驱动器,问题就会消失(调试完成后无法访问DVD驱动器),但1-2分钟后会再次出现.
************************************来自过程监控的日志:
StandardCollector.Service.exe IRP_MJ_CREATE H:SUCCESS所需访问:通用读/写,Dis"Apple-tab-span"style ="white-space:pre;"> IRP_MJ_CREATE H:\ INVALID PARAMETER所需访问:Synchronize,Dis"Apple -tab-span"style ="white-space:pre;"> IRP_MJ_DEVICE_CONTROL H:FAST IO DISALLOWED控件:IOCTL_SCSI_PASS_THROUGH_DIRECT StandardCollector.Service.exe IRP_MJ_DEVICE_CONTROL H:SUCCESS控件:IOCTL_SCSI_PASS_THROUGH_DIRECT StandardCollector.Service.exe IRP_MJ_DEVICE_CONTROL H:FAST IO DISALLOWED控件: IOCTL_DISK_GET_DRIVE_GEOMETRY StandardCollector.Service.exe IRP_MJ_DEVICE_CONTROL H:NO媒体控制:IOCTL_DISK_GET_DRIVE_GEOMETRY StandardCollector.Service.exe IRP_MJ_DEVICE_CONTROL H:FAST IO不允许控制:IOCTL_STORAGE_QUERY_PROPERTY StandardCollector.Service.exe IRP_MJ_DEVICE_CONTROL H:SUCCESS控制:IOCTL_STORAGE_QUERY_PROPERTY StandardCollector.Service.exe IRP_MJ_DEVICE_CONTROL H:FAST IO DISALLOWED控件:IOCTL_CDROM_GET_CONFIGURATION StandardCollector.Servi ce.exe IRP_MJ_DEVICE_CONTROL H:SUCCESS控制:IOCTL_CDROM_GET_CONFIGURATION StandardCollector.Service.exe IRP_MJ_DEVICE_CONTROL H:FAST IO不允许控制:IOCTL_SCSI_PASS_THROUGH_DIRECT StandardCollector.Service.exe IRP_MJ_DEVICE_CONTROL H:SUCCESS控制:IOCTL_SCSI_PASS_THROUGH_DIRECT StandardCollector.Service.exe IRP_MJ_CLEANUP H:SUCCESS StandardCollector.Service.exe IRP_MJ_CLOSE H:成功
所以我一直在 iOS 上努力解决这个问题:我想要一个允许添加新行的多行文本输入:
// Now there's a "return" button, that adds a new line, perfect!
<TextInput
multiline
numberOfLines={2}
/>
Run Code Online (Sandbox Code Playgroud)
同时,我想要一个带有返回键的多行文本输入,它会关闭键盘(这样用户就可以继续向下滚动屏幕到提交 CTA):
// Now there's a "done" button, that dismisses the keyboard, yay!
<TextInput
blurOnSubmit
multiline
numberOfLines={2}
returnKeyType="done"
/>
Run Code Online (Sandbox Code Playgroud)
但是,我找不到如何将这两者结合起来的方法。对于其他键盘类型(例如number ),键盘上方有returnKey 。
有没有办法同时使用新行按钮和键盘关闭键进行多行文本输入?谢谢!
编辑:
我正在尝试对由我的 DTO 之一建模的 JSON 输入执行简单的验证。对象属性之一的类型是Map<string, number>。输入示例:
{
"type": "CUSTOM",
"is_active": true,
"current_plan_day": 1,
"custom_warmup_plan": {
"1": 123,
"2": 456
}
Run Code Online (Sandbox Code Playgroud)
在我的控制器上,我使用 DTO 来指定主体类型。该类与类验证器装饰器一起是这样的:
export class CreateWarmupPlanRequestDto {
@IsEnum(WarmupPlanType)
type: string;
@IsOptional()
@IsNumber({ allowInfinity: false, allowNaN: false, maxDecimalPlaces: 0 })
@IsPositive()
hard_cap: number | null;
@IsBoolean()
is_active: boolean;
@IsNumber({ allowInfinity: false, allowNaN: false, maxDecimalPlaces: 0 })
@IsPositive()
current_plan_day: number;
@IsOptional()
@IsNumber({ allowInfinity: false, allowNaN: false, maxDecimalPlaces: 0 })
@IsPositive()
previous_plan_day: number | null;
@IsOptional()
@IsNumber({ allowInfinity: false, allowNaN: false, …Run Code Online (Sandbox Code Playgroud) 使用Delphi 2010和TStringGrid组件,我目前显示数据库查询中的五个fild.
这是我正在做的一个简单的例子
//设置网格
procedure TGriddata.FormCreate(Sender: TObject);
begin
grdMain.Rows[0].commatext:='"One","Two","Three","Four","Five"';
grdMain.ColWidths[0]:= 50;
grdMain.ColWidths[1]:= 175;
grdMain.ColWidths[2]:= 175;
grdMain.ColWidths[3]:= 100;
grdMain.ColWidths[4]:= 300;
end;
Run Code Online (Sandbox Code Playgroud)
//显示网格中的数据//注意,我没有显示查询的创建,执行或销毁
procedure TGriddata.load;
begin
...
grdMain.Cells[0,row]:= FieldByName('one').AsString;
grdMain.Cells[1,row]:= FieldByName('two').AsString;
grdMain.Cells[2,row]:= FieldByName('three').AsString;
grdMain.Cells[3,row]:= FieldByName('four').AsString;
//draw progress bar here
...
end;
Run Code Online (Sandbox Code Playgroud)
其中一列("五")需要在col中显示海军蓝色水平条.它还应该显示一些以栏为中心的文本.我没有使用自定义绘图的经验.我设置的哪些属性只能自定义绘制一列并使用其他列的默认绘图?
我发现如果我在其中写下settings.json:
"eslint.format.enable": true,
"[javascriptreact]": {
"editor.defaultFormatter": "dbaeumer.vscode-eslint",
}
Run Code Online (Sandbox Code Playgroud)
然后我可以使用 ESLint 格式化整个页面ALT + SHIFT + F(或右键单击 -> 设置文档格式)。
我还可以看到,一旦右键单击 -> Format Selection With....,我就可以看到 ESLint 作为一个选项。
但是,如果我选择一行并按右键单击,则Format Selection With...找不到 Eslint 选项。(或作为快捷方式CTRL+K)
那么如何使用 ESLint 格式化选择呢?
delphi ×3
c++builder ×1
custom-draw ×1
database ×1
delphi-2010 ×1
eslint ×1
freepascal ×1
ide ×1
indy ×1
innodb ×1
mysql ×1
nestjs ×1
pascal ×1
php ×1
react-native ×1
record ×1
sockets ×1
stringgrid ×1
validation ×1
variant ×1