DELPHI盒子
!实时搜索: 盒子论坛 | 注册用户 | 修改信息 | 退出
检举帖 | 全文检索 | 关闭广告 | 捐赠
技术论坛
 用户名
 密  码
自动登陆(30天有效)
忘了密码
≡技术区≡
DELPHI技术
lazarus/fpc/Free Pascal
移动应用开发
Web应用开发
数据库专区
报表专区
网络通讯
开源项目
论坛精华贴
≡发布区≡
发布代码
发布控件
文档资料
经典工具
≡事务区≡
网站意见
盒子之家
招聘应聘
信息交换
论坛信息
最新加入: qwe0987654321
今日帖子: 7
在线用户: 7
导航: 论坛 -> DELPHI技术 斑竹:liumazi,sephil  
作者:
男 mmxxt (mmxxt) ★☆☆☆☆ -
普通会员
2003/10/19 15:29:40
标题:
“客户端发送一段文本,然后收到服务器端的应答文本”,谁有例子啊? 浏览:2037
加入我的收藏
楼主: 客户端的界面是:
两个文本框用来填写server的IP和端口号,三个按钮:“连接”、“发送”、“断开”,一个文本框填写发送的文本(如:aaa),一个文本框显示接受到的服务器应答文本(如:bbb)

可以将代码发到我的邮箱中
artgh@sohu.com
谢谢!

----------------------------------------------
-
作者:
男 bios (阿贡) ★☆☆☆☆ -
盒子中级会员
2003/10/19 15:41:13
1楼: unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, NMUDP;

type
  TForm1 = class(TForm)
    NMUDP1: TNMUDP;
    NMUDP2: TNMUDP;
    Button1: TButton;
    OpenDialog1: TOpenDialog;
    Label1: TLabel;
    Label2: TLabel;
    SaveDialog1: TSaveDialog;
    procedure Button1Click(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure NMUDP1DataSend(Sender: TObject);
    procedure NMUDP2DataReceived(Sender: TComponent; NumberBytes: Integer;
      FromIP: String; Port: Integer);
  private

  public

  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
 strFile:String   ;
 iHandle,iSize,iRead :longint;
 pFile :Pchar    ;
begin
if(OpenDialog1.Execute) then
 begin
  strFile:=OpenDialog1.FileName;
 end;
try
 begin
  iHandle:=FileOpen(strFile,fmOpenRead);
  iSize:=FileSeek(iHandle,0,2);
  FileSeek(iHandle,0,0);
  getmem(pFile ,iSize);
  iRead:=FileRead(iHandle,pFile^,iSize);
  NMUDP1.SendBuffer(pFile^,iSize);
  FileClose(iHandle);
 end;
 finally
 begin
 freemem(pFile);
 end;
 end;
end;

procedure TForm1.FormShow(Sender: TObject);
begin
NMUDP2.RemoteHost:='127.0.0.1';
NMUDP1.RemoteHost:='127.0.0.1';
end;

procedure TForm1.NMUDP1DataSend(Sender: TObject);
begin
Label1.Caption:='Data Sent';
end;

procedure TForm1.NMUDP2DataReceived(Sender: TComponent;
  NumberBytes: Integer; FromIP: String; Port: Integer);
var
   iHandle,iRecv:longint;
  pFile :pchar;
  strFileName:String;
begin
 Label2.Caption:='Data Receive';
try
 begin
  if(SaveDialog1.Execute) then
   begin
    strFileName:=SaveDialog1.FileName;
   end;
  if(FileExists(strFileName))  then
   begin
    iHandle:=FileOpen(strFileName,fmOpenWrite);

   end
  else
   begin
    iHandle:=FileCreate(strFileName);
   end;
  getmem(pFile ,NumberBytes);
  NMUDP2.ReadBuffer(pFile^,NumberBytes);
  FileWrite(iHandle,pFile^,NumberBytes);
  FileClose(iHandle);
 end;
 finally
 begin
  freemem(pFile);
 end;
end;

end;

end.

----------------------------------------------
按此在新窗口浏览图片
按此在新窗口浏览图片
作者:
男 zizii (高高高级馒头) ★☆☆☆☆ -
神秘会员
2003/10/19 15:55:47
2楼: 首页这样的例子搜索就有。
----------------------------------------------
维护世界和平,共创美好盒子。
信息
登陆以后才能回复
Copyright © 2CCC.Com 盒子论坛 v3.0.1 版权所有 页面执行66.40625毫秒 RSS