Delphi 本地主机代理INADDR\U环回是否可能?
因此,我编写了一个简单的代理服务器,但有几个问题: -windows defender弹出提示:“是否允许此程序通过防火墙?”。 -由于我使用INADDR_,因此如果端口被转发,任何人都可以访问代理 因此,我想知道的是,我是否可以对来自chrome/etc的传入连接使用INADDR_环回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
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)(大多数端口未使用)@罗伯·肯尼迪