Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

有个奇怪的问题请教 #104

Closed
wr960204 opened this issue Feb 16, 2022 · 3 comments
Closed

有个奇怪的问题请教 #104

wr960204 opened this issue Feb 16, 2022 · 3 comments

Comments

@wr960204
Copy link

我的开发环境是Windows10 X64,Delphi 11.0 Version 28.0.42600.6491
同样的代码,放在.dpr文件的入口就没问题,放在函数里就会出错:“
TIocpCrossSocket._NewAccept.AcceptEx : System Error. Code: 10038(2736), 在一个非套接字上尝试了一个操作。
TIocpCrossSocket._NewAccept.AcceptEx : System Error. Code: 10038(2736), 在一个非套接字上尝试了一个操作。
TIocpCrossSocket._NewAccept.AcceptEx : System Error. Code: 10038(2736), 在一个非套接

代码如下:
program ss;

{$APPTYPE CONSOLE}

{$R *.res}

uses
Net.CrossSslSocket,
Net.CrossSslDemoCert,
System.SysUtils, System.Classes, System.Generics.Collections,
Net.CrossSocket.Base,
Net.CrossSocket,
Net.CrossHttpServer,
Net.CrossHttpMiddleware,
Net.CrossHttpUtils;

type
TObj = class
procedure test(const ARequest: ICrossHttpRequest;
const AResponse: ICrossHttpResponse; var AHandled: Boolean);
end;

{ TObj }

procedure TObj.test(const ARequest: ICrossHttpRequest;
const AResponse: ICrossHttpResponse; var AHandled: Boolean);
begin
AResponse.Send('ABCDEF');
end;

//同样的代码,在函数里面调用就会出错
procedure startService();
var
Obj: TObj;
FHttpServer: ICrossHttpServer;

begin
Obj := TObj.Create;
FHttpServer := TCrossHttpServer.Create(0, False);
FHttpServer.Addr := IPv4v6_ALL; // IPv4v6
FHttpServer.Port := 8088;
FHttpServer.Compressible := True;

FHttpServer.All('/', Obj.test);

FHttpServer.Start();;

end;

var
Obj: TObj;
FHttpServer: ICrossHttpServer;

begin
// 同样的代码,直接调用没问题
// Obj := TObj.Create;
// FHttpServer := TCrossHttpServer.Create(0, False);
// FHttpServer.Addr := IPv4v6_ALL; // IPv4v6
// FHttpServer.Port := 8088;
// FHttpServer.Compressible := True;
//
// FHttpServer.All('/', Obj.test);
//
// FHttpServer.Start();

startService();

while(true) do
begin
Readln;
end;
end.

@winddriver
Copy link
Owner

winddriver commented Feb 16, 2022 via email

@wr960204
Copy link
Author

我猪了。擦

@winddriver
Copy link
Owner

呵呵,武大偶尔也会有迷糊的时候

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants