如何利用套接字向web数据库提交数据? 如题,我想通过套接字实现向web服务器提交数据,请大家帮帮忙,vc代码和delphi代码都可以,非常感谢! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 你还不如体验一下CBX框架,能够直接开发RIA的BS系统,使用高速http协议在互联网传输数据,基于Delphi7。讨论QQ群:16169282 利用delphi的TClientSocket控件,就可以简单实现这个控件的包jsocket可以在这里下载:http://hcqi2004.download.csdn.net/user/hcqi2004/JSocket,TServerSocketunit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, JSocket;type TForm1 = class(TForm) ServerSocket1: TServerSocket; ClientSocket1: TClientSocket; Memo1: TMemo; Memo2: TMemo; Button3: TButton; Button4: TButton; procedure ServerSocket1ClientConnect(Sender: TObject; Socket: TCustomWinSocket); procedure ServerSocket1ClientDisconnect(Sender: TObject; Socket: TCustomWinSocket); procedure Button3Click(Sender: TObject); procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure ClientSocket1Connecting(Sender: TObject; Socket: TCustomWinSocket); procedure ClientSocket1Error(Sender: TObject; Socket: TCustomWinSocket; ErrorEvent: TErrorEvent; var ErrorCode: Integer); procedure Button4Click(Sender: TObject); procedure ServerSocket1ClientRead(Sender: TObject; Socket: TCustomWinSocket); private { Private declarations } public { Public declarations } end;var Form1: TForm1;implementation{$R *.dfm}//开启 ServerSocket端口procedure TForm1.Button3Click(Sender: TObject);begin ServerSocket1.Address:='210.30.56.250'; //这里设置服务器ip地址 ServerSocket1.Port:=80;//设置服务器监听的端口 ServerSocket1.Active:=True;end;//开启ClientSocket1端口,并发送数据procedure TForm1.Button4Click(Sender: TObject);begin ClientSocket1.Address:='210.30.56.250'; //这里设置要连接的服务器ip地址 ClientSocket1.Port:=80;//设置服请求连接的端口 ClientSocket1.Active:=True; ClientSocket1.Socket.SendText(Memo1.Text);end;procedure TForm1.ClientSocket1Connecting(Sender: TObject; Socket: TCustomWinSocket);begin //ClientSocket1端口发起连接请求 Memo1.Lines.Add('正在请求连接'+Socket.RemoteAddress+' '+inttostr(Socket.RemotePort));end;procedure TForm1.ClientSocket1Error(Sender: TObject; Socket: TCustomWinSocket; ErrorEvent: TErrorEvent; var ErrorCode: Integer);begin //ClientSocket1端口关闭或者出错 ErrorCode:=0; Socket.Close; Memo1.Lines.Add('连接关闭'+Socket.RemoteAddress+' '+inttostr(Socket.RemotePort));end;procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);begin //关闭ServerSocket1端口 ServerSocket1.Active:=False;end;//ServerSocket1的OnClientConnect函数procedure TForm1.ServerSocket1ClientConnect(Sender: TObject; Socket: TCustomWinSocket);begin Memo1.Lines.Add('接受端口连接:'+Socket.RemoteAddress);end; //ServerSocket1的OnClientDisconnect函数procedure TForm1.ServerSocket1ClientDisconnect(Sender: TObject; Socket: TCustomWinSocket);begin Memo2.Lines.Add('连接关闭:'+Socket.RemoteAddress);end;procedure TForm1.ServerSocket1ClientRead(Sender: TObject; Socket: TCustomWinSocket); var recevtext:string;begin //服务端接受客户端发送过来的数据 recevtext:=Socket.ReceiveText; Memo2.Lines.Add('接受客户端'+Socket.LocalAddress+' | '+inttostr(Socket.LocalPort)+' | '+recevtext);end;end. 新手,大家推荐本新书学习! 放分 糊里糊涂?!:) 得到一個窗體上的所有adotable,adoquery對象? 急!急!急!用ADO的组件做的程序在估成安装程序时要不要附带什么?? 怎么控制Edit只能输入数字? 热点讨论:SQL的UPDATE将TABLE1的数据调到TABLE2中 请问各位,日期怎么查询? 关于拔号 如何重新编译VCL库? 请教各位如何解决这个新增变修改的问题 如何让wwdbgrid中选定的那条记录以特殊颜色突出显示
这个控件的包jsocket可以在这里下载:
http://hcqi2004.download.csdn.net/user/hcqi2004/JSocket,TServerSocketunit Unit1;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, JSocket;type
TForm1 = class(TForm)
ServerSocket1: TServerSocket;
ClientSocket1: TClientSocket;
Memo1: TMemo;
Memo2: TMemo;
Button3: TButton;
Button4: TButton;
procedure ServerSocket1ClientConnect(Sender: TObject;
Socket: TCustomWinSocket);
procedure ServerSocket1ClientDisconnect(Sender: TObject;
Socket: TCustomWinSocket);
procedure Button3Click(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure ClientSocket1Connecting(Sender: TObject;
Socket: TCustomWinSocket);
procedure ClientSocket1Error(Sender: TObject; Socket: TCustomWinSocket;
ErrorEvent: TErrorEvent; var ErrorCode: Integer);
procedure Button4Click(Sender: TObject);
procedure ServerSocket1ClientRead(Sender: TObject;
Socket: TCustomWinSocket);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;implementation{$R *.dfm}//开启 ServerSocket端口
procedure TForm1.Button3Click(Sender: TObject);
begin
ServerSocket1.Address:='210.30.56.250'; //这里设置服务器ip地址
ServerSocket1.Port:=80;//设置服务器监听的端口
ServerSocket1.Active:=True;
end;//开启ClientSocket1端口,并发送数据
procedure TForm1.Button4Click(Sender: TObject);
begin
ClientSocket1.Address:='210.30.56.250'; //这里设置要连接的服务器ip地址
ClientSocket1.Port:=80;//设置服请求连接的端口
ClientSocket1.Active:=True;
ClientSocket1.Socket.SendText(Memo1.Text);
end;procedure TForm1.ClientSocket1Connecting(Sender: TObject;
Socket: TCustomWinSocket);
begin
//ClientSocket1端口发起连接请求
Memo1.Lines.Add('正在请求连接'+Socket.RemoteAddress+' '+inttostr(Socket.RemotePort));
end;procedure TForm1.ClientSocket1Error(Sender: TObject; Socket: TCustomWinSocket;
ErrorEvent: TErrorEvent; var ErrorCode: Integer);
begin
//ClientSocket1端口关闭或者出错
ErrorCode:=0;
Socket.Close;
Memo1.Lines.Add('连接关闭'+Socket.RemoteAddress+' '+inttostr(Socket.RemotePort));
end;procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
//关闭ServerSocket1端口
ServerSocket1.Active:=False;
end;//ServerSocket1的OnClientConnect函数
procedure TForm1.ServerSocket1ClientConnect(Sender: TObject;
Socket: TCustomWinSocket);
begin
Memo1.Lines.Add('接受端口连接:'+Socket.RemoteAddress);
end; //ServerSocket1的OnClientDisconnect函数
procedure TForm1.ServerSocket1ClientDisconnect(Sender: TObject;
Socket: TCustomWinSocket);
begin
Memo2.Lines.Add('连接关闭:'+Socket.RemoteAddress);
end;procedure TForm1.ServerSocket1ClientRead(Sender: TObject;
Socket: TCustomWinSocket);
var
recevtext:string;
begin
//服务端接受客户端发送过来的数据
recevtext:=Socket.ReceiveText;
Memo2.Lines.Add('接受客户端'+Socket.LocalAddress+' | '+inttostr(Socket.LocalPort)+' | '+recevtext);
end;end.