网络文件传输的问题.

baiduan 2006-11-14 11:44:42
最近要做一个网络文件传输的东东,要求在只有80端口的机器上也可以,郁闷死,客户端好做,服务器怎么才能接受到啊,谁知道给提示下,谢谢各位老大.

能用到的办法另外开200分相谢.
...全文
326 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
baiduan 2006-11-24
  • 打赏
  • 举报
回复
原来是转发到127.0.0.1即可,
好大一个弯子。
baiduan 2006-11-15
  • 打赏
  • 举报
回复
to 各位大虾:
文件传输好做,关键是如何在只开80的机子上运行服务端。
而且80口已经有用了,不能和人家抢啊,^_^

to 老冯兄:
给提个醒啊,你怎么处理的,是不是端口重用啊?
老冯 2006-11-15
  • 打赏
  • 举报
回复
80端口的处理也是一项技术哦。暂时保密哈。
老冯 2006-11-15
  • 打赏
  • 举报
回复
至于大文件传输,你可以采用切割技术来传输。具体有什么问题,欢迎提出。一定耐心解答
老冯 2006-11-15
  • 打赏
  • 举报
回复
呵呵。WIN32低层开发,精神可嘉。不过实际交付项目没有必要如此辛苦,利用INDY完全封装并创新的技术,何乐而不为呢?另外关于只开放80端口的问题我这里测试了一下,没有任何问题。文件传输很顺利。
JLBOY 2006-11-15
  • 打赏
  • 举报
回复
寫的太累了
已數據流的形式上傳根本沒有問題
baiduan 2006-11-15
  • 打赏
  • 举报
回复
procedure TForm1.Button1Click(Sender: TObject);
var
i:integer;
s,c1:Tsocket;
aWSAData:TWSAData;
sa:sockaddr_in;
t1,t2:dword;
flag:pchar;
begin
flag:=pchar('1');
t1:=gettickcount;
try
if WSAstartup(MAKEWORD(2,2),aWSAData)<>0 then exit;
s:=socket(2,1,6);

if s=INVALID_SOCKET then exit;
sa.sin_family:=pf_inet;
sa.sin_port:=htons(80);//要重用80口的
sa.sin_addr.S_addr:=INADDR_any; //inet_addr("127.0.0.1");

if setsockopt(s,SOL_SOCKET,SO_REUSEADDR,flag,sizeof(flag))=-1
then begin
getlasterror;
exit;
end;

if bind(s,@sa,sizeOF(sa))=socket_error then
begin
closesocket(s);
exit;
end;
self.Caption:='开始监视80端口';
listen(s,5);

while (1) do
begin
memo1.Lines.Add('监听中....');
t2:=gettickcount;
if t2-t1>10000 then exit;
end;
finally
WSACleanup;
end;
end;
//以上是在80端口监听的程序,但是在setsockopt那行过不去,
//该怎么办?那位大虾知道啊,帮个忙??
老冯 2006-11-15
  • 打赏
  • 举报
回复
很简单的。用INDY的FTPSERVER和FTPClient轻松搞定UpLoad/DownLoad.
do2008 2006-11-15
  • 打赏
  • 举报
回复
你的程序如果想要在80端口接收数据,如果80端口没有被别的程序占用,那你的服务器端程序就监
听80端口即可;

80是HTTP端口,一般由Web Server如IIS,Apache占用了,

如果在80端口已经被占用的情况下,你自己的程序是没有办法再Listen这个80端口的.

在这种情况下,如果还想要通过80端口传送数据,是需要别的技术的;
比如写一个WEB Server的扩展,如ISAPI,然后将ISAPI添加到web server中

当然还有别的方法,具体我不就太清楚了
baiduan 2006-11-15
  • 打赏
  • 举报
回复
关闭80口的程序&服务?
还是
web service?
baiduan 2006-11-15
  • 打赏
  • 举报
回复
谢谢各位。
to ilovechao1314:
原80的口怎么处理的?
liliang800207 2006-11-15
  • 打赏
  • 举报
回复
只要把FTP的端口设置为80
但是这样80端口不能被别的服务占用
liliang800207 2006-11-15
  • 打赏
  • 举报
回复
FTP就可以亚!!!
ilovechao1314 2006-11-15
  • 打赏
  • 举报
回复
开80和开别的port也是一样的阿,就是多了个原80的处理工作
zczb 2006-11-15
  • 打赏
  • 举报
回复
gz

1,593

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 网络通信/分布式开发
社区管理员
  • 网络通信/分布式开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧