如何在程序中播放服务器的文件?(100分)

  • 主题发起人 主题发起人 xueminliu
  • 开始时间 开始时间
X

xueminliu

Unregistered / Unconfirmed
GUEST, unregistred user!
请问各位大虾如何在Delphi程序中播放服务器的一个文件,该文件使用
Real Player播放器播放.
另外,如何使用HTTP控件或其他控件向服务器提交各种请求,例如,给服务器
提交一些数据,要服务器根据这些数据和发出的请求执行某些特定的动作(例
如:更改服务器的配置或某些文件,这些动作在服务器上已经有程序实现).
因为我第一次编网络程序,因此请各位大虾的答案详细一些,有源代码最妙!
先谢了!
 
问题问的使我头晕,你的要求很高嘛,就是没听懂.
1.RA的文件是在服务器上播放还是在客户播放
2.CGI应该能够满足你的要求,否则再把问题说明白一些
 
1.引入real player的ActiveX,在你程序里就拥有一个完整的real player
 
呵呵, 最简单: shellexec运行real player .ra or .ram文件就可以了.
如果是服务器, 1. 映射成本地盘
2. 用服务器路径 //server/disk/xxx.ra
3. 由数据库获得ra文件, 存成临时文件.
 
人家说的服务器是远程web服务器吧?
 
cAkk说得很对,文件放在web服务器上,然后用http协议获取文件,cytown说的
好像行不通,用shellexec也许可行,一开始我也想到了这点,但考虑到反正我要
问第二个问题,因此也一起提出来了,看大有没有更好的方法.
用http控件向服务器提出请求是不是用post方法,然后把服务器上完成请求的文
件列出,并且把参数附上.
但是小弟还有点疑惑,用cgi或isapi及asp写的程序,浏览器是用get或post方法
把请求传递给服务器,例如用ASP写的提交方法是
<form method="POST" action="PostReply.asp?LID=149644">
上面的程序用post方法把请求提交给PostReply.asp程序,参数为LID=149644,
提交的数据是form中的有关input数据,例如一个textarea中的数据或其他数据,
我想问的是如何用http控件在自己的程序中输入提交的数据,然后用http控件的某种方法把数据提交给服务器的cgi或asp程序处理.
请各位大虾多多指教.
 
一定要用http控件吗?我说的方法可以直接读取web上的ra文件.

我看看http控件再说.
 
你说的是NMHTTP控件吗?
 
看过了,在delphi4/demos/internet/http下面有一个http控件的例子,摘抄一下:

NMHTTP1.InputFileMode := FALSE;
NMHTTP1.OutputFileMode := FALSE;
NMHTTP1.ReportLevel := Status_Basic;
If CheckBox1.Checked then
Begin
NMHTTP1.Proxy := Edit11.Text;
NMHTTP1.ProxyPort := StrToInt(Edit12.Text);
End;
With NMHTTP1.HeaderInfo do
Begin
Cookie := Edit5.Text;
LocalMailAddress := Edit6.Text;
LocalProgram := Edit7.Text;
Referer := Edit8.Text;
UserID := Edit9.Text;
Password := Edit10.Text;
End;
NMHTTP1.Post(Edit2.Text, Edit3.Text);
Memo3.Text := NMHTTP1.Header;
Memo4.Text := NMHTTP1.Body;

其中,NMHTTP1.Post方法的第一个参数是cgi或asp的url,
第二个参数是post的数据,建议你使用tstring来处理,比如:
lst.add('name=1');
lst.add('password=1');
然后,NMHTTP1.Post('http://www.xxx.com/cgi-bin/xxx.exe', lst.Text);

说来惭愧,不是你说起,我还真没注意delphi有这么好的一个控件! 有了
http控件,我可以写一些有意思的程序了,哈哈!

http控件是个好东西!!!!谢谢!!!

 
cakk:
我想也是这样.
顺便问一下,有没有类于ie功能的控件,用来显示下载的网页,若没有Ie的话,用能
分析html源文件并显示出来也行,我使用了html控件,但是什么也显示不出来.
 
html控件应该可以呀! 它就是用来干这个的,不过需要你的机器装了IE才可以.

D5带的那个TWebBrowser很不错,你可以试一试,不过也要装了IE才可以用.

其他的控件有ThtmlView等,也可以看html文件,而且只能看html文件,不能看
网上的网页. 当然,功能都比不上IE,要求不高的话就凑合着用吧.

 
还想说几句,我前几天刚做了一个从网上的网页里读取字符串并处理的程序,
当时我的方法是先手工把网页保存成本地文件,然后读取文件,进行分析,
现在有了http控件,我完全可以通过程序自动直接把网页get下来,直接进行处理了.
:-)

明天就修改程序!
 
xueminliu, 我从<font color="red">3175</font>端口
根本无法用HTTP控件获取那个服务器配置文件,看来还要
另辟捷径。要好好研究它的服务器端程序的源代码。找到
那几个写服务器文件的程序。
 
youtoo: ???????
你们两个是一起的吗?
 
cakk:
你说的那种程序我们已经有很酷的程序,可以把整个网站的东西全部搬到硬盘上来,
不过我们的程序是用socket实现的
 
cakk:
是啊!不过我在学校住,youutoo在家住,因此昨天晚上他不再!
 
cakk:
我们面临的问题是从一个非WWW类型的服务器上获取一个文件。
我试过用HTTP控件,但是无法成功获取。
 
http控件用的是http1.1协议. 非WWW类型恐怕是不行.
 
xueminliu: 你要做的其实很简单, 只要browser的机器上装了ra, 服务器返回时
content_type设成ra格式就可以了.
与客户端编程无关呀:-)
 
cytown: 人家的服务器不是一个web服务器,哪有什么content-type????
 
后退
顶部