Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/delphi/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Delphi 本地主机代理INADDR\U环回是否可能?_Delphi_Winsock - Fatal编程技术网

Delphi 本地主机代理INADDR\U环回是否可能?

Delphi 本地主机代理INADDR\U环回是否可能?,delphi,winsock,Delphi,Winsock,因此,我编写了一个简单的代理服务器,但有几个问题: -windows defender弹出提示:“是否允许此程序通过防火墙?”。 -由于我使用INADDR_,因此如果端口被转发,任何人都可以访问代理 因此,我想知道的是,我是否可以对来自chrome/etc的传入连接使用INADDR_环回 s:=socket(AF_INET,SOCK_STREAM,IPPROTO_TCP); inc(LePort); adr.sin_family:=AF_INET; adr.sin_port:=htons(LeP

因此,我编写了一个简单的代理服务器,但有几个问题: -windows defender弹出提示:“是否允许此程序通过防火墙?”。 -由于我使用INADDR_,因此如果端口被转发,任何人都可以访问代理

因此,我想知道的是,我是否可以对来自chrome/etc的传入连接使用INADDR_环回

s:=socket(AF_INET,SOCK_STREAM,IPPROTO_TCP);
inc(LePort);
adr.sin_family:=AF_INET;
adr.sin_port:=htons(LePort);
adr.sin_addr.S_addr:=INADDR_LOOPBACK;//possible?
Bind(S,adr,SizeOf(adr));
if winsock.Listen(S,20)<>SOCKET_ERROR then Break;
closesocket(s);
s:=套接字(AF\u INET、SOCK\u STREAM、IPPROTO\u TCP);
莱波特公司;
adr.sin_家族:=AF_家族;
adr.sin_港:=htons(LePort);
adr.sin_addr.S_addr:=INADDR_环回//可能的
绑定(S、adr、SizeOf(adr));
如果winsock.Listen(S,20)套接字错误,则中断;
插座;

我试过了,但是chrome说代理服务器没有响应,这让我相信我做不到……我同意,但是我应该怎么处理防病毒弹出窗口?

你打电话给
bind
;它成功了吗?你已经测试过铬;你有没有试过和别的东西联系?当您连接一个简单的telnet客户端时会发生什么情况?日志:已启动。sock_错误-绑定-端口:999 wsagetlasterror:0---失败。是的,我也尝试过lightshot,当adr.sin\u addr.S\u addr:=INADDR\u ANY时,结果是成功的。你说的连接telnet客户端是什么意思?我指的是连接telnet客户端<代码>telnet本地主机。然后在提示符处键入HTTP:
GET/HTTP/1.0
;'HOST example.com`。查看您的程序如何响应。如果这不起作用,那就不用费心尝试Chrome了。我不明白你的日志。它从哪里来的。在代码中,您忽略了绑定的结果,那么它在日志中是如何显示的呢?当您的日志显示“失败”时,它指的是什么?
bind
是否返回0或
Socket\u错误
?如果是后者,那么
WsaGetLastError
返回什么?当然,我编辑了源代码以提供该信息,WsaGetLastError返回0(无错误),我所说的失败是指它无法侦听任何端口(999-65535)(大多数端口未使用)@罗伯·肯尼迪