socket聊天室问题再次提出,分数加大,恳请求解(190分)

  • 主题发起人 主题发起人 phpexpert
  • 开始时间 开始时间
P

phpexpert

Unregistered / Unconfirmed
GUEST, unregistred user!
有的聊天室是类似于http://222.222.222.222:9000这样的地址,我想做个小程序传用户名
和密码参数到login.asp页面。然后就可以登录聊天室。基于这种思想,我用webbrowse组件
做了一个。但是问题是资源消耗较大,登录多个页面时消耗内存过多,速度也慢。
见过基于vc做的一个socket组件连接服务器,速度很快。但是用户名和密码怎么传呢?
给服务器发http协议命令,它能管用吗??

我用的是delphi7,最好有关键代码,谢谢~~~
第一次提问,多谢回答

也请journer,张无忌再深入解释一下,多谢~~~~~
 
网上找到一些例子,但是还是不太明白,关键代码段如下:

procedure TForm1.GetHttp(const str : string);
var
i : integer;
begin
if (cbUseProxy.Checked) then
begin
SendData('GET http://'+Site+':'+ePort.Text+str+' HTTP/1.0');
if (eProxyLogin.Text <> '') then
begin
SendData('Proxy-Authorization: Basic '+b64encode(eProxyLogin.Text+':'+eProxyPass.Text));
end;
end
else
begin
SendData('GET '+str+' HTTP/1.1');
end;
for i := 0 to FCustHeader.Header.Lines.Count - 1 do
SendData(FCustHeader.Header.Lines);
{ SendData('Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, image/png, */*');
SendData('Accept-Language: en');
SendData('Accept-Encoding: gzip');
SendData('User-Agent: Mozilla/4.7 [fr] (AmstradOS; I)'); // User-Agent: Mozilla/4.7 [fr] (WinNT; I)
}
SendData('Host: '+Site+':'+ePort.Text);

if (cbUseProxy.Checked) then
begin
SendData('Proxy-Connection: Keep-Alive');
end
else
begin
SendData('Connection: Keep-Alive');
end;
SendData(#13#10);
end;

比如我执行 get /login http/1.1,然后我怎样才能知道取得的 login在哪里呢?怎么传参数给他呢?
能得到参数类似于 /body?username=ppp&pass=123 应该可以执行了,迷茫~~
 
up again耐心等待答复,谢谢
 
up again耐心等待答复,谢谢
 
up again耐心等待答复,谢谢
 
upupupupupupup
 
此问题已解决。但是动态生成clientsocket时候,怎么取到以前生成的clientsocket那些属性呢?
 
高手没在吗?
 
此问题已解决。但是动态生成clientsocket时候,怎么取到以前生成的clientsocket那些属性呢?
 
没人愿意回答吗?分数太低?还是没意思的问题?[?]
 
既然你已经点名别人来回答了,我就不抢他人的分数了。
 
啊,别这样嘛。因为那两位前面回答过,但是很不清楚而已。

你知道就告诉我了,我等的心都快睡了,哈哈
 
继续提前,等待答复继续提前,等待答复
 
生成新控件前先把值取出来~
 
无忌来拿分数,多谢帮忙
 
后退
顶部