delphi7 winsock

来源:互联网 发布:vcd音频提取软件 编辑:程序博客网 时间:2024/06/11 03:18

TCP通讯

      由于delphi的SOCKET组件在默认的情况下是没有被添加大组件库中的,如果你没有使用过SOCKET组件,在打开时就会提示TClientSocket或TServerSocket等控件没有被声明而不能编译通过;

解决办法:

添加组件草开发环境里面component->install   package->add->"C:\Program   Files\Borland\Delphi7\Bin\dclsockets70.bpl" 添加后在组件Internet页面可以看到TSocketClient和TSocketServer控件

客户端TSocketClient需要映射连接OnConnect、断开OnDisconnect及读取OnRead消息三个事件,服务器端TSocketServer也需要对应的映射监控是否有客户端连接上的OnClientConnect事件,客户端断开OnClientDisconnect事件及读取客户端数据的OnClientRead

服务器端TSocketServer只需提供客户端的连接端口ServerSocket.Port,然后打开ServerSocket.Open();就可以供客户端连接了;然后那三个事件就分别来处理连接时,断开时,及读取消息时的事件;

procedure TForm1.OnClientConnect(Sender: TObject; Socket: TCustomWinSocket);                                                                  

这里Socket就是连接上的套接字,通过它可以获取远程客户端IP及端口,分别是Socket.RemoteAddress和Socket.Port;

procedure TForm1.OnClientDisconnect(Sender: TObject;
Socket: TCustomWinSocket);                     通过socket判断哪些客户端已经断开了

procedure TForm1.OnClientRead(Sender: TObject; Socket: TCustomWinSocket); 用该事件来接收客户端发来的数据,Socket.ReceiveText,是以字符串形式接收的,当然发送也是以字符串形式发送的CustomWinSocket[Socket].SendText(string);这里的CustomWinSocket就是定义的TCustomWinSocket类,当然在实际应用过程中接收和发送数据都要有一定的规范,所以要掌握一些字符串和数组,字节之间的转换。

    客户端TSocketClient需提供指定远程服务器地址和端口才能连接远程服务器,远程服务器地址一般是服务器IP,ClientSocket1.Address和ClientSocket1.Port,然后打开clientSocket1.Open();只要服务器将端口打开了就可以连接了;然后那三个事件就和服务器的三个事件一样,分别来处理连接时,断开时,及读取消息时的事件;不过客户端读取和服务器读取数据有一点点不同,就是它接收数据是以无类型的Buf来接收的,Socket.Receivebuf(RecBuf,200);这里的RecBuf:array[0..255] of char;是个字符数组,最后显示时需用StrPas函数转换了显示;当然这里接收也可以用其他形式存储,根据实际需要选择。

    下面的程序非常的简单,只是一个在服务器和客户机之间建立连接并通讯的程序。
      
      我们使用TServerSocket组件来建立服务器端的程序。
      它包含两个memo组件,用来分别处理接收到的数据和发送的数据,然后再在窗体上方一个TServerSocket组件,ServerType设置为stNonBlocking,Port设置为100,active设置为true,写几句简单的代码如下:
DELPHI7 TCP、UDP通讯(winsock)(转) - liang_liu99 - 哈是浮云的计算机技术博客{
DELPHI7 TCP、UDP通讯(winsock)(转) - liang_liu99 - 哈是浮云的计算机技术博客     作者:wudi_1982
DELPHI7 TCP、UDP通讯(winsock)(转) - liang_liu99 - 哈是浮云的计算机技术博客     联系方式:wudi_1982@hotmail.com
DELPHI7 TCP、UDP通讯(winsock)(转) - liang_liu99 - 哈是浮云的计算机技术博客     转载请著名出处
DELPHI7 TCP、UDP通讯(winsock)(转) - liang_liu99 - 哈是浮云的计算机技术博客}

DELPHI7 TCP、UDP通讯(winsock)(转) - liang_liu99 - 哈是浮云的计算机技术博客unit Unit1;
DELPHI7 TCP、UDP通讯(winsock)(转) - liang_liu99 - 哈是浮云的计算机技术博客
DELPHI7 TCP、UDP通讯(winsock)(转) - liang_liu99 - 哈是浮云的计算机技术博客
interface
DELPHI7 TCP、UDP通讯(winsock)(转) - liang_liu99 - 哈是浮云的计算机技术博客
DELPHI7 TCP、UDP通讯(winsock)(转) - liang_liu99 - 哈是浮云的计算机技术博客uses
DELPHI7 TCP、UDP通讯(winsock)(转) - liang_liu99 - 哈是浮云的计算机技术博客   Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
DELPHI7 TCP、UDP通讯(winsock)(转) - liang_liu99 - 哈是浮云的计算机技术博客   Dialogs, ComCtrls, StdCtrls, ScktComp;
DELPHI7 TCP、UDP通讯(winsock)(转) - liang_liu99 - 哈是浮云的计算机技术博客
DELPHI7 TCP、UDP通讯(winsock)(转) - liang_liu99 - 哈是浮云的计算机技术博客type
DELPHI7 TCP、UDP通讯(winsock)(转) - liang_liu99 - 哈是浮云的计算机技术博客   TForm1 
= class(TForm)
DELPHI7 TCP、UDP通讯(winsock)(转) - liang_liu99 - 哈是浮云的计算机技术博客     ServerSocket1: TServerSocket;
DELPHI7 TCP、UDP通讯(winsock)(转) - liang_liu99 - 哈是浮云的计算机技术博客     Memo1: TMemo;
DELPHI7 TCP、UDP通讯(winsock)(转) - liang_liu99 - 哈是浮云的计算机技术博客     Button1: TButton;
DELPHI7 TCP、UDP通讯(winsock)(转) - liang_liu99 - 哈是浮云的计算机技术博客     StatusBar1: TStatusBar;
DELPHI7 TCP、UDP通讯(winsock)(转) - liang_liu99 - 哈是浮云的计算机技术博客     Memo2: TMemo;
DELPHI7 TCP、UDP通讯(winsock)(转) - liang_liu99 - 哈是浮云的计算机技术博客     procedure ServerSocket1ClientConnect(Sender: TObject;
DELPHI7 TCP、UDP通讯(winsock)(转) - liang_liu99 - 哈是浮云的计算机技术博客       Socket: TCustomWinSocket);
DELPHI7 TCP、UDP通讯(winsock)(转) - liang_liu99 - 哈是浮云的计算机技术博客     procedure ServerSocket1ClientDisconnect(Sender: TObject;
DELPHI7 TCP、UDP通讯(winsock)(转) - liang_liu99 - 哈是浮云的计算机技术博客       Socket: TCustomWinSocket);
DELPHI7 TCP、UDP通讯(winsock)(转) - liang_liu99 - 哈是浮云的计算机技术博客     procedure ServerSocket1ClientRead(Sender: TObject;
DELPHI7 TCP、UDP通讯(winsock)(转) - liang_liu99 - 哈是浮云的计算机技术博客       Socket: TCustomWinSocket);
DELPHI7 TCP、UDP通讯(winsock)(转) - liang_liu99 - 哈是浮云的计算机技术博客     procedure Button1Click(Sender: TObject);
DELPHI7 TCP、UDP通讯(winsock)(转) - liang_liu99 - 哈是浮云的计算机技术博客  
private
DELPHI7 TCP、UDP通讯(winsock)(转) - liang_liu99 - 哈是浮云的计算机技术博客    
{ Private declarations }
DELPHI7 TCP、UDP通讯(winsock)(转) - liang_liu99 - 哈是浮云的计算机技术博客  
public
DELPHI7 TCP、UDP通讯(winsock)(转) - liang_liu99 - 哈是浮云的计算机技术博客    
{ Public declarations }
DELPHI7 TCP、UDP通讯(winsock)(转) - liang_liu99 - 哈是浮云的计算机技术博客   end;
DELPHI7 TCP、UDP通讯(winsock)(转) - liang_liu99 - 哈是浮云的计算机技术博客
DELPHI7 TCP、UDP通讯(winsock)(转) - liang_liu99 - 哈是浮云的计算机技术博客var
DELPHI7 TCP、UDP通讯(winsock)(转) - liang_liu99 - 哈是浮云的计算机技术博客   Form1: TForm1;
DELPHI7 TCP、UDP通讯(winsock)(转) - liang_liu99 - 哈是浮云的计算机技术博客
DELPHI7 TCP、UDP通讯(winsock)(转) - liang_liu99 - 哈是浮云的计算机技术博客implementation
DELPHI7 TCP、UDP通讯(winsock)(转) - liang_liu99 - 哈是浮云的计算机技术博客
DELPHI7 TCP、UDP通讯(winsock)(转) - liang_liu99 - 哈是浮云的计算机技术博客
{$R *.dfm}
DELPHI7 TCP、UDP通讯(winsock)(转) - liang_liu99 - 哈是浮云的计算机技术博客
DELPHI7 TCP、UDP通讯(winsock)(转) - liang_liu99 - 哈是浮云的计算机技术博客procedure TForm1.ServerSocket1ClientConnect(Sender: TObject;
DELPHI7 TCP、UDP通讯(winsock)(转) - liang_liu99 - 哈是浮云的计算机技术博客   Socket: TCustomWinSocket);
DELPHI7 TCP、UDP通讯(winsock)(转) - liang_liu99 - 哈是浮云的计算机技术博客begin
DELPHI7 TCP、UDP通讯(winsock)(转) - liang_liu99 - 哈是浮云的计算机技术博客StatusBar1.SimpleText :
= 'connect';
DELPHI7 TCP、UDP通讯(winsock)(转) - liang_liu99 - 哈是浮云的计算机技术博客end;
DELPHI7 TCP、UDP通讯(winsock)(转) - liang_liu99 - 哈是浮云的计算机技术博客
DELPHI7 TCP、UDP通讯(winsock)(转) - liang_liu99 - 哈是浮云的计算机技术博客procedure TForm1.ServerSocket1ClientDisconnect(Sender: TObject;
DELPHI7 TCP、UDP通讯(winsock)(转) - liang_liu99 - 哈是浮云的计算机技术博客   Socket: TCustomWinSocket);
DELPHI7 TCP、UDP通讯(winsock)(转) - liang_liu99 - 哈是浮云的计算机技术博客begin
DELPHI7 TCP、UDP通讯(winsock)(转) - liang_liu99 - 哈是浮云的计算机技术博客   StatusBar1.SimpleText :
= 'disconnect';
DELPHI7 TCP、UDP通讯(winsock)(转) - liang_liu99 - 哈是浮云的计算机技术博客end;
DELPHI7 TCP、UDP通讯(winsock)(转) - liang_liu99 - 哈是浮云的计算机技术博客
DELPHI7 TCP、UDP通讯(winsock)(转) - liang_liu99 - 哈是浮云的计算机技术博客procedure TForm1.ServerSocket1ClientRead(Sender: TObject;
DELPHI7 TCP、UDP通讯(winsock)(转) - liang_liu99 - 哈是浮云的计算机技术博客   Socket: TCustomWinSocket);
DELPHI7 TCP、UDP通讯(winsock)(转) - liang_liu99 - 哈是浮云的计算机技术博客begin
DELPHI7 TCP、UDP通讯(winsock)(转) - liang_liu99 - 哈是浮云的计算机技术博客    Memo1.Lines.Add( Socket.ReceiveText);
DELPHI7 TCP、UDP通讯(winsock)(转) - liang_liu99 - 哈是浮云的计算机技术博客end;
DELPHI7 TCP、UDP通讯(winsock)(转) - liang_liu99 - 哈是浮云的计算机技术博客
DELPHI7 TCP、UDP通讯(winsock)(转) - liang_liu99 - 哈是浮云的计算机技术博客procedure TForm1.Button1Click(Sender: TObject);
DELPHI7 TCP、UDP通讯(winsock)(转) - liang_liu99 - 哈是浮云的计算机技术博客begin
DELPHI7 TCP、UDP通讯(winsock)(转) - liang_liu99 - 哈是浮云的计算机技术博客   
if ServerSocket1.Active then
DELPHI7 TCP、UDP通讯(winsock)(转) - liang_liu99 - 哈是浮云的计算机技术博客      ServerSocket1.Socket.Connections[
0].SendText(Memo2.Text);
DELPHI7 TCP、UDP通讯(winsock)(转) - liang_liu99 - 哈是浮云的计算机技术博客end;
DELPHI7 TCP、UDP通讯(winsock)(转) - liang_liu99 - 哈是浮云的计算机技术博客
DELPHI7 TCP、UDP通讯(winsock)(转) - liang_liu99 - 哈是浮云的计算机技术博客end.
DELPHI7 TCP、UDP通讯(winsock)(转) - liang_liu99 - 哈是浮云的计算机技术博客

然后编译程序。

客户端实现:
    客户端相对复杂一些,因为我们要有一个用来接收服务器IP地址的edit,以及端口地址的edit。

DELPHI7 TCP、UDP通讯(winsock)(转) - liang_liu99 - 哈是浮云的计算机技术博客{
DELPHI7 TCP、UDP通讯(winsock)(转) - liang_liu99 - 哈是浮云的计算机技术博客     作者:wudi_1982
DELPHI7 TCP、UDP通讯(winsock)(转) - liang_liu99 - 哈是浮云的计算机技术博客     联系方式:wudi_1982@hotmail.com
DELPHI7 TCP、UDP通讯(winsock)(转) - liang_liu99 - 哈是浮云的计算机技术博客     转载请著名出处
DELPHI7 TCP、UDP通讯(winsock)(转) - liang_liu99 - 哈是浮云的计算机技术博客}

DELPHI7 TCP、UDP通讯(winsock)(转) - liang_liu99 - 哈是浮云的计算机技术博客unit Unit1;
DELPHI7 TCP、UDP通讯(winsock)(转) - liang_liu99 - 哈是浮云的计算机技术博客
DELPHI7 TCP、UDP通讯(winsock)(转) - liang_liu99 - 哈是浮云的计算机技术博客
interface
DELPHI7 TCP、UDP通讯(winsock)(转) - liang_liu99 - 哈是浮云的计算机技术博客
DELPHI7 TCP、UDP通讯(winsock)(转) - liang_liu99 - 哈是浮云的计算机技术博客uses
DELPHI7 TCP、UDP通讯(winsock)(转) - liang_liu99 - 哈是浮云的计算机技术博客   Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
DELPHI7 TCP、UDP通讯(winsock)(转) - liang_liu99 - 哈是浮云的计算机技术博客   Dialogs, ComCtrls, StdCtrls, ScktComp;
DELPHI7 TCP、UDP通讯(winsock)(转) - liang_liu99 - 哈是浮云的计算机技术博客
DELPHI7 TCP、UDP通讯(winsock)(转) - liang_liu99 - 哈是浮云的计算机技术博客type
DELPHI7 TCP、UDP通讯(winsock)(转) - liang_liu99 - 哈是浮云的计算机技术博客   TForm1 
= class(TForm)
DELPHI7 TCP、UDP通讯(winsock)(转) - liang_liu99 - 哈是浮云的计算机技术博客     ClientSocket1: TClientSocket;
DELPHI7 TCP、UDP通讯(winsock)(转) - liang_liu99 - 哈是浮云的计算机技术博客     edIp: TEdit;
DELPHI7 TCP、UDP通讯(winsock)(转) - liang_liu99 - 哈是浮云的计算机技术博客     Label1: TLabel;
DELPHI7 TCP、UDP通讯(winsock)(转) - liang_liu99 - 哈是浮云的计算机技术博客     Label2: TLabel;
DELPHI7 TCP、UDP通讯(winsock)(转) - liang_liu99 - 哈是浮云的计算机技术博客     edPort: TEdit;
DELPHI7 TCP、UDP通讯(winsock)(转) - liang_liu99 - 哈是浮云的计算机技术博客     StatusBar1: TStatusBar;
DELPHI7 TCP、UDP通讯(winsock)(转) - liang_liu99 - 哈是浮云的计算机技术博客     Memo1: TMemo;
DELPHI7 TCP、UDP通讯(winsock)(转) - liang_liu99 - 哈是浮云的计算机技术博客     btnConnect: TButton;
DELPHI7 TCP、UDP通讯(winsock)(转) - liang_liu99 - 哈是浮云的计算机技术博客     btnSent: TButton;
DELPHI7 TCP、UDP通讯(winsock)(转) - liang_liu99 - 哈是浮云的计算机技术博客     btnDisconnect: TButton;
DELPHI7 TCP、UDP通讯(winsock)(转) - liang_liu99 - 哈是浮云的计算机技术博客     Memo2: TMemo;
DELPHI7 TCP、UDP通讯(winsock)(转) - liang_liu99 - 哈是浮云的计算机技术博客     procedure ClientSocket1Connect(Sender: TObject;
DELPHI7 TCP、UDP通讯(winsock)(转) - liang_liu99 - 哈是浮云的计算机技术博客       Socket: TCustomWinSocket);
DELPHI7 TCP、UDP通讯(winsock)(转) - liang_liu99 - 哈是浮云的计算机技术博客     procedure btnConnectClick(Sender: TObject);
DELPHI7 TCP、UDP通讯(winsock)(转) - liang_liu99 - 哈是浮云的计算机技术博客     procedure btnDisconnectClick(Sender: TObject);
DELPHI7 TCP、UDP通讯(winsock)(转) - liang_liu99 - 哈是浮云的计算机技术博客     procedure btnSentClick(Sender: TObject);
DELPHI7 TCP、UDP通讯(winsock)(转) - liang_liu99 - 哈是浮云的计算机技术博客     procedure ClientSocket1Read(Sender: TObject; Socket: TCustomWinSocket);
DELPHI7 TCP、UDP通讯(winsock)(转) - liang_liu99 - 哈是浮云的计算机技术博客  
private
DELPHI7 TCP、UDP通讯(winsock)(转) - liang_liu99 - 哈是浮云的计算机技术博客    
{ Private declarations }
DELPHI7 TCP、UDP通讯(winsock)(转) - liang_liu99 - 哈是浮云的计算机技术博客  
public
DELPHI7 TCP、UDP通讯(winsock)(转) - liang_liu99 - 哈是浮云的计算机技术博客    
{ Public declarations }
DELPHI7 TCP、UDP通讯(winsock)(转) - liang_liu99 - 哈是浮云的计算机技术博客   end;
DELPHI7 TCP、UDP通讯(winsock)(转) - liang_liu99 - 哈是浮云的计算机技术博客
DELPHI7 TCP、UDP通讯(winsock)(转) - liang_liu99 - 哈是浮云的计算机技术博客var
DELPHI7 TCP、UDP通讯(winsock)(转) - liang_liu99 - 哈是浮云的计算机技术博客   Form1: TForm1;
DELPHI7 TCP、UDP通讯(winsock)(转) - liang_liu99 - 哈是浮云的计算机技术博客
DELPHI7 TCP、UDP通讯(winsock)(转) - liang_liu99 - 哈是浮云的计算机技术博客implementation
DELPHI7 TCP、UDP通讯(winsock)(转) - liang_liu99 - 哈是浮云的计算机技术博客
DELPHI7 TCP、UDP通讯(winsock)(转) - liang_liu99 - 哈是浮云的计算机技术博客
{$R *.dfm}
DELPHI7 TCP、UDP通讯(winsock)(转) - liang_liu99 - 哈是浮云的计算机技术博客
DELPHI7 TCP、UDP通讯(winsock)(转) - liang_liu99 - 哈是浮云的计算机技术博客procedure TForm1.ClientSocket1Connect(Sender: TObject;
DELPHI7 TCP、UDP通讯(winsock)(转) - liang_liu99 - 哈是浮云的计算机技术博客   Socket: TCustomWinSocket);
DELPHI7 TCP、UDP通讯(winsock)(转) - liang_liu99 - 哈是浮云的计算机技术博客begin
DELPHI7 TCP、UDP通讯(winsock)(转) - liang_liu99 - 哈是浮云的计算机技术博客    StatusBar1.SimpleText :
= '连接成功';
DELPHI7 TCP、UDP通讯(winsock)(转) - liang_liu99 - 哈是浮云的计算机技术博客end;
DELPHI7 TCP、UDP通讯(winsock)(转) - liang_liu99 - 哈是浮云的计算机技术博客
DELPHI7 TCP、UDP通讯(winsock)(转) - liang_liu99 - 哈是浮云的计算机技术博客procedure TForm1.btnConnectClick(Sender: TObject);
DELPHI7 TCP、UDP通讯(winsock)(转) - liang_liu99 - 哈是浮云的计算机技术博客begin
DELPHI7 TCP、UDP通讯(winsock)(转) - liang_liu99 - 哈是浮云的计算机技术博客   
if not ClientSocket1.Active then
DELPHI7 TCP、UDP通讯(winsock)(转) - liang_liu99 - 哈是浮云的计算机技术博客    begin
DELPHI7 TCP、UDP通讯(winsock)(转) - liang_liu99 - 哈是浮云的计算机技术博客      ClientSocket1.Host :
= edIp.Text;
DELPHI7 TCP、UDP通讯(winsock)(转) - liang_liu99 - 哈是浮云的计算机技术博客      ClientSocket1.Port :
= StrToInt(edPort.Text);
DELPHI7 TCP、UDP通讯(winsock)(转) - liang_liu99 - 哈是浮云的计算机技术博客      ClientSocket1.Open;
DELPHI7 TCP、UDP通讯(winsock)(转) - liang_liu99 - 哈是浮云的计算机技术博客      (Sender 
as TButton).Enabled := false;
DELPHI7 TCP、UDP通讯(winsock)(转) - liang_liu99 - 哈是浮云的计算机技术博客      btnDisconnect.Enabled :
= true;
DELPHI7 TCP、UDP通讯(winsock)(转) - liang_liu99 - 哈是浮云的计算机技术博客    end;
DELPHI7 TCP、UDP通讯(winsock)(转) - liang_liu99 - 哈是浮云的计算机技术博客end;
DELPHI7 TCP、UDP通讯(winsock)(转) - liang_liu99 - 哈是浮云的计算机技术博客
DELPHI7 TCP、UDP通讯(winsock)(转) - liang_liu99 - 哈是浮云的计算机技术博客procedure TForm1.btnDisconnectClick(Sender: TObject);
DELPHI7 TCP、UDP通讯(winsock)(转) - liang_liu99 - 哈是浮云的计算机技术博客begin
DELPHI7 TCP、UDP通讯(winsock)(转) - liang_liu99 - 哈是浮云的计算机技术博客   
if ClientSocket1.Active then
DELPHI7 TCP、UDP通讯(winsock)(转) - liang_liu99 - 哈是浮云的计算机技术博客    begin
DELPHI7 TCP、UDP通讯(winsock)(转) - liang_liu99 - 哈是浮云的计算机技术博客      ClientSocket1.Close;
DELPHI7 TCP、UDP通讯(winsock)(转) - liang_liu99 - 哈是浮云的计算机技术博客      btnDisconnect.Enabled :
= false;
DELPHI7 TCP、UDP通讯(winsock)(转) - liang_liu99 - 哈是浮云的计算机技术博客      btnConnect.Enabled :
= true;
DELPHI7 TCP、UDP通讯(winsock)(转) - liang_liu99 - 哈是浮云的计算机技术博客
DELPHI7 TCP、UDP通讯(winsock)(转) - liang_liu99 - 哈是浮云的计算机技术博客    end;
DELPHI7 TCP、UDP通讯(winsock)(转) - liang_liu99 - 哈是浮云的计算机技术博客end;
DELPHI7 TCP、UDP通讯(winsock)(转) - liang_liu99 - 哈是浮云的计算机技术博客
DELPHI7 TCP、UDP通讯(winsock)(转) - liang_liu99 - 哈是浮云的计算机技术博客procedure TForm1.btnSentClick(Sender: TObject);
DELPHI7 TCP、UDP通讯(winsock)(转) - liang_liu99 - 哈是浮云的计算机技术博客begin
DELPHI7 TCP、UDP通讯(winsock)(转) - liang_liu99 - 哈是浮云的计算机技术博客   
if ClientSocket1.Active then
DELPHI7 TCP、UDP通讯(winsock)(转) - liang_liu99 - 哈是浮云的计算机技术博客      ClientSocket1.Socket.SendText(Memo1.Text)
DELPHI7 TCP、UDP通讯(winsock)(转) - liang_liu99 - 哈是浮云的计算机技术博客end;
DELPHI7 TCP、UDP通讯(winsock)(转) - liang_liu99 - 哈是浮云的计算机技术博客
DELPHI7 TCP、UDP通讯(winsock)(转) - liang_liu99 - 哈是浮云的计算机技术博客procedure TForm1.ClientSocket1Read(Sender: TObject;
DELPHI7 TCP、UDP通讯(winsock)(转) - liang_liu99 - 哈是浮云的计算机技术博客   Socket: TCustomWinSocket);
DELPHI7 TCP、UDP通讯(winsock)(转) - liang_liu99 - 哈是浮云的计算机技术博客begin
DELPHI7 TCP、UDP通讯(winsock)(转) - liang_liu99 - 哈是浮云的计算机技术博客    Memo2.Lines.Add(Socket.ReceiveText);
DELPHI7 TCP、UDP通讯(winsock)(转) - liang_liu99 - 哈是浮云的计算机技术博客end;
DELPHI7 TCP、UDP通讯(winsock)(转) - liang_liu99 - 哈是浮云的计算机技术博客
DELPHI7 TCP、UDP通讯(winsock)(转) - liang_liu99 - 哈是浮云的计算机技术博客end
原创粉丝点击