線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1289
推到 Plurk!
推到 Facebook!

TCP/IP 端口收发数据问题

缺席
cxg
中階會員


發表:116
回覆:192
積分:76
註冊:2004-02-12

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-07-28 17:56:02 IP:222.35.xxx.xxx 未訂閱
我有一个无线扫描器通过TCP/IP端口和PC机通讯,我用TIdTCPServer可以实现吗?我试了一下,只能连接无法接收到数据,不知道为什么,代码如下: unit uServer; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, IdBaseComponent, IdComponent, IdTCPServer, Buttons, StdCtrls, ExtCtrls; type TForm1 = class(TForm) Memo1: TMemo; Memo2: TMemo; SpeedButton1: TSpeedButton; IdTCPServer1: TIdTCPServer; Label1: TLabel; edNickName: TEdit; Label2: TLabel; Label3: TLabel; Label4: TLabel; Timer1: TTimer; procedure IdTCPServer1Connect(AThread: TIdPeerThread); procedure IdTCPServer1Execute(AThread: TIdPeerThread); procedure SpeedButton1Click(Sender: TObject); procedure IdTCPServer1Disconnect(AThread: TIdPeerThread); procedure FormCreate(Sender: TObject); private { Private declarations } CONNECT_COUNT : INTEGER; public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.IdTCPServer1Connect(AThread: TIdPeerThread); begin Memo1.Lines.Append(AThread.Connection.Socket.Binding.PeerIP ' connected'); INC( CONNECT_COUNT); LABEL4.CAPTION := INTTOSTR( CONNECT_COUNT); end; procedure TForm1.IdTCPServer1Disconnect(AThread: TIdPeerThread); begin Memo1.Lines.Append(AThread.Connection.Socket.Binding.PeerIP ' Disconnected'); CONNECT_COUNT := CONNECT_COUNT - 1; LABEL4.CAPTION := INTTOSTR( CONNECT_COUNT); end; procedure TForm1.IdTCPServer1Execute(AThread: TIdPeerThread); var S : String; begin S := AThread.Connection.ReadLn(#10#10, 100); Memo1.Lines.Add( S); S := Trim( S); if S <> '' then begin MEMO1.TEXT := S ',衣物条形码,1'; end; end; procedure TForm1.SpeedButton1Click(Sender: TObject); var i : Integer; aThread : TIdPeerThread; S1 : STRING; begin S1 := Trim( Memo2.Lines.Text); if S1 = '' then EXIT; try for i := 0 to IdTCPServer1.Threads.LockList.Count - 1 do begin aThread := IdTCPServer1.Threads.LockList.Items[i]; aThread.Connection.WriteLn( S1); end; Memo1.Lines.Append('SEND DATA :' S1); Memo2.Clear; finally IdTCPServer1.Threads.UnlockList; end; end; end. 请各位大虾帮我检查一下。
cxg
中階會員


發表:116
回覆:192
積分:76
註冊:2004-02-12

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-07-29 11:43:21 IP:222.35.xxx.xxx 未訂閱
我后来改用 TServerSocket 就没有问题了,不知道是为什么?请各位大虾多多指教,非常感谢。
系統時間:2024-05-17 13:29:57
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!