社区
网络及通讯开发
帖子详情
请教如何得到TCustomWinSocket在ServerSocket->Socket->Connections[]中的数组索引?
csym
2003-12-11 09:47:34
要求不用循环判断是否相等,谢谢;
...全文
29
1
打赏
收藏
请教如何得到TCustomWinSocket在ServerSocket->Socket->Connections[]中的数组索引?
要求不用循环判断是否相等,谢谢;
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
1 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
esiedull
2003-12-15
打赏
举报
回复
如果不用判断,你想得到你想要的索引,那如何检索呢?
delphi的
socket
网络通信
socket
编程,在xp+delphi7下编译通过的,很不错的资料
gprs远程监控单机演示软件
Gprs远程监控单机演示unit Unit1;interfaceuses
Win
dows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ExtCtrls, StdCtrls, ScktComp, ComCtrls;type TForm1 = class(TForm)
Server
Socket
1: T
Server
Socket
; Button1: TButton; Timer1: TTimer; Label10: TLabel; StatusBar1: TStatusBar; Memo1: TMemo; Memo2: TMemo; Label11: TLabel; Label12: TLabel; Label16: TLabel; Label1: TLabel; Label2: TLabel; Label3: TLabel; Edit1: TEdit; CheckBox1: TCheckBox; Edit2: TEdit; Label4: TLabel; Label5: TLabel; GroupBox1: TGroupBox; RadioButton1: TRadioButton; RadioButton2: TRadioButton; Button2: TButton; Button3: TButton; Button4: TButton; Label6: TLabel; Label7: TLabel; Timer2: TTimer; procedure
Server
Socket
1Accept(Sender: TObject;
Socket
:
TCustom
Win
Socket
); procedure
Server
Socket
1ClientRead(Sender: TObject;
Socket
:
TCustom
Win
Socket
); procedure Button1Click(Sender: TObject); procedure FormCreate(Sender: TObject); procedure Button2Click(Sender: TObject); procedure CheckBox1Click(Sender: TObject); procedure Timer1Timer(Sender: TObject); procedure
Server
Socket
1ClientDisconnect(Sender: TObject;
Socket
:
TCustom
Win
Socket
); procedure Button3Click(Sender: TObject); procedure Button4Click(Sender: TObject); procedure Timer2Timer(Sender: TObject); private { Private declarations } public { Public declarations } end;var Form1: TForm1; ip, Port : string;implementationprocedure TForm1.
Server
Socket
1Accept(Sender: TObject;
Socket
:
TCustom
Win
Socket
);begin ip :=
Socket
.RemoteAddress; Port := inttostr(
Socket
.RemotePort); StatusBar1.Panels[0].Text := ‘ 下位机DTU已成功连接!‘; StatusBar1.Panels[1].Text := ‘ 已连接IP及端口:‘+ip+‘:‘+port+‘ 时间:‘+TimeToStr(now);; Button1.Enabled := true;end;procedure TForm1.
Server
Socket
1ClientRead(Sender: TObject;
Socket
:
TCustom
Win
Socket
);var s, s_hex : string; i : integer;begin s :=
Socket
.ReceiveText; memo2.Lines.Add(‘(TCP)来自: ‘ +
Socket
.RemoteAddress + ‘:‘+inttostr(
Socket
.RemotePort) +‘ 接收到:‘+inttostr(length(s))+‘(bytes) 数据如下:‘); if RadioButton1.Checked = true then begin for i:=1 to length(s) do s_hex := s_hex+inttohex(ord(s[i]),2)+ ‘ ‘; // memo2.Lines.Add(s_hex); end else memo2.Lines.Add(s);end;procedure TForm1.Button1Click(Sender: TObject);var i : integer; s_memo, s_hex: String;begin if (memo1.Text = ‘‘)then ShowMessage(‘发送数据不能为空!‘) else try begin if (RadioButton1.Checked = false) then begin for I := 0 to memo1.Lines.Count - 1 do
Server
Socket
1.
Socket
.
Connection
s[0].SendText(memo1.lines[i]); //如果多台下位机同时与服务器相连,可选用不同的线程发送,既:
Socket
.
Connection
s[0] end else begin try s_memo := StringReplace(memo1.text,‘ ‘,‘‘,[rfReplaceAll]); for i := 1 to length(s_memo) div 2 do s_hex := s_hex+char(strtoint(‘+copy(s_memo,(2*i-1),2)));
Server
Socket
1.
Socket
.
Connection
s[0].SendText(s_hex); except ShowMessage(‘发送16进制(Hex编码)输入有错!‘); end; end; end; except ShowMessage(‘发送数据失败!‘); end;end;procedure TForm1.FormCreate(Sender: TObject);begin Button1.Enabled := false;
Server
Socket
1.Service :=
Server
Socket
1.
Socket
.LocalAddress;
Server
Socket
1.Active := true; StatusBar1.Panels[0].Text := ‘ 上位机TCP侦听端口:5050‘; memo1.Clear; memo2.Clear; Label11.Caption := DateToStr(now);end;procedure TForm1.Button2Click(Sender: TObject);begin Button1.Enabled := false;
Server
Socket
1.Active := false;
Server
Socket
1.Service :=
Server
Socket
1.
Socket
.LocalAddress;
Server
Socket
1.Port := StrToInt(edit1.Text);
Server
Socket
1.Active := true; StatusBar1.Panels[0].Text := ‘ 上位机TCP侦听端口:‘+edit1.Text;end;procedure TForm1.CheckBox1Click(Sender: TObject);begin if CheckBox1.Checked = true then begin Label4.Enabled := false; Label5.Enabled := false; edit2.Enabled := false; Timer1.Enabled := true; Timer1.Interval := strtoint(edit2.Text); end; if CheckBox1.Checked = false then begin edit2.Enabled := true; Timer1.Enabled := false; Label4.Enabled := true; Label5.Enabled := true; end;end;procedure TForm1.Timer1Timer(Sender: TObject);begin if (memo1.Text <> ‘‘) and (Button1.Enabled = true) then Button1.Click;end;procedure TForm1.
Server
Socket
1ClientDisconnect(Sender: TObject;
Socket
:
TCustom
Win
Socket
);begin StatusBar1.Panels[0].Text := ‘ 下位机TCP连接已断开!‘; StatusBar1.Panels[1].Text := ‘‘;end;procedure TForm1.Button3Click(Sender: TObject);begin close;end;procedure TForm1.Button4Click(Sender: TObject);begin memo1.Clear; memo2.Clear;end;
如何利用C++ Builder 5.0 Enterprise 创建用户自己的网上聊天程序
如何利用C++ Builder 5.0 Enterprise 创建用户自己的网上聊天程序 网络是一个激动人心的领域,编写网络上的应用程序更是很多程序员向往的情节,然而编写网络程序需要掌握大量的网络传输协议、编程接口和
Win
Sock32 API 函数,正因为如此,要完成从
Win
dows程序员到Web程序员的转变不是一件易事.最近笔者成功的用C++ Buil--der 5.0 Enterprise
C++ builder 网络聊天程序
#include #pragma hdrstop #include "main.h" //--------------------------------------------------------------------------- #pragma link "ScktComp" #pragma resource "*.dfm" TChatForm *ChatForm;
用Delphi实现
Socket
5代理编程
一:前言 经常在论坛上面看到很多人问如何实现
Socket
5编程,下面就自己对于
Socket
5的一些肤浅认识写上几句.文章分几个系列,包括
Socket
5客户端和服务端的编写.文章参考了一些
SOCKET
5的RFC文档资料和代码,在这里不再一一列出. 二:
Socket
5客户端基于Tcp协议的实现 该程序的原理如下:你的客户端程序(发送数据)------>
Socket
5代理服务器(
中
网络及通讯开发
1,317
社区成员
8,874
社区内容
发帖
与我相关
我的任务
网络及通讯开发
C++ Builder 网络及通讯开发
复制链接
扫一扫
分享
社区描述
C++ Builder 网络及通讯开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章