求通过http实现udp,tcp的源码(200分)

  • 主题发起人 主题发起人 superboy
  • 开始时间 开始时间
S

superboy

Unregistered / Unconfirmed
GUEST, unregistred user!
已经有socks2http,socksonline软件实现了.哪位高手能有类似功能的delphi源码?服务器端和客户端都要。
 
“求通过http实现udp,tcp的源码”?啥子意思哦?

TCP和UDP都是基于的IP的协议,HTTP是基于TCP的协议,就是说HTTP是通过TCP实现,TCP是
通过IP实现,怎么可能倒过来呢?
 
哦。我真糊涂,没有说清楚。
应该为“通过http代理提供tcp或udp的应用”,简单地说就是如何通过http代理而提供一个本地的socks代理?
象socksonline和socks2http一样
 
实际就是想实现一个SOCKS代理服务器吧,你可以搜索一下,以前有人作过
 
你是说QQ里的Http吧。
它也是通过提交返回来作的,服务端很烦琐。
 
我倒是认为题目是 基于tcp/udp实现http应用.(hehe,其实好象http只能是基于tcp/udp的,因为它必须基于ip)
下面是我去年做的一个在linux/QT,包装的一个用于HTTP的简单类(接口同MFC同名类)的一个实现,
大体就这样了.
过一阵子也许我用delphi做一个比较完整的,现在我正在做ftp的
CStdioFile* CInternetSession::OpenURL(char* pstrURL,int dwContext=1,int dwFlags=0,
char* pstrHeaders=NULL,int dwHeaderLenth=0)
{
CStdioFile* pstdiofile;
KURL kurl=(const char *)pstrURL;
int port=kurl.port();
if(port==0)port=80;
const char* Host=kurl.host();
const char* FileName=kurl.httpPath();

QString portstr;
QString filename;
QString message;

struct hostent *server_host_name=new (struct hostent);

server_host_name=gethostbyname((const char *)Host);

struct sockaddr_in pin;

bzero(&pin,sizeof(pin));
pin.sin_family=AF_INET;
pin.sin_addr.s_addr=htonl(INADDR_ANY);
pin.sin_addr.s_addr=
((struct in_addr*)(server_host_name->h_addr))->s_addr;
pin.sin_port=htons(port);
//BasicSocket pBasicSocket;
int handle=socket(AF_INET,SOCK_STREAM, 0);
if(handle==-1)
{
perror("error socket");
return NULL;
}
//pBasicSocket.Create();
if(connect(handle,(const SOCKADDR*)&pin,sizeof(pin))==-1)
{
perror("error connect");
return NULL;
}

message=QString("GET ")+QString(FileName)+QString(" HTTP/1.0/r/nConnection:Keep-Alive/r/n/n");
send(handle,(const char*)message,message.length(),0);

pstdiofile=new CStdioFile(handle,IO_ReadWrite);
return pstdiofile;
}
 
hehe,这是客户的,tcp的
 
中转的http代理是特制的吧,不是随便找一个都可以的吧
或者最终的服务器是特制的,不是随便的
反正中间层和最终的服务器至少要有一个是特制的,不是标准的
 
我还以为是HTTP隧道呢
很多单位只保留了HTTP通道,还有局部网上网的电脑由于没有动态IP,在INTENET上别的机
器不能连接它,用HTTP隧道即可实现,而不是SOCKTS代理.只要电脑可以浏览网页即可接受连接
我的朋友正在为北京公安部门设计一个这样的软件.可以连接任何一家网吧里面任意一台电脑
已经做成功了.过两天过去了解了解.
 
后退
顶部