write error 64 指定的網路名稱無法使用? |
尚未結案
|
jck1
一般會員 發表:53 回覆:67 積分:24 註冊:2002-05-23 發送簡訊給我 |
|
Justmade
版主 發表:94 回覆:1934 積分:2030 註冊:2003-03-12 發送簡訊給我 |
|
jck1
一般會員 發表:53 回覆:67 積分:24 註冊:2002-05-23 發送簡訊給我 |
|
Justmade
版主 發表:94 回覆:1934 積分:2030 註冊:2003-03-12 發送簡訊給我 |
|
jck1
一般會員 發表:53 回覆:67 積分:24 註冊:2002-05-23 發送簡訊給我 |
我的程式大致是這樣子
2000 port會解釋我傳入的句子
並傳回他的回應
unit Unit1; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ScktComp; type TForm1 = class(TForm) cs: TClientSocket; Button1: TButton; Button2: TButton; Button3: TButton; procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); procedure Button3Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation var ss: TWinsocketStream; {$R *.DFM} procedure TForm1.Button1Click(Sender: TObject); var sf: boolean; begin cs.close; cs.Address:= '89.0.0.1'; cs.Port:= 2000; sf:= true; try cs.Open; ss:= TWinSocketStream.Create(cs.Socket, 60000); except sf:= false; end; if(not sf)then begin showmessage('連線失敗!!'); exit; end; end; procedure TForm1.Button2Click(Sender: TObject); var StrSend: string; buff: array[0..4096-1] of char; dataLen: integer; begin strsend:= '0045:READ FROM 2 GTEQ ' '''' 'MAS' '''' ',' '''' 'IDOCTOR' '''' ',' '''' '0' '''' ',' '''' '' '''' ';'; ss.Write(StrSend[1], length(StrSend)); FillChar(Buff, Sizeof(Buff), #0); DataLen:= ss.Read(Buff, Sizeof(Buff)); end; procedure TForm1.Button3Click(Sender: TObject); begin ss.free; cs.close; end; end.按第一個button開啟連線 按第二個button讀寫資料 按第三個button結束連線 當我按第一個button時沒問題 第一次按第二個button時也沒問題 但第二次按第二個button時 就會出現 write error 64 指定的網路名稱無法使用 的訊息了。 |
Ktop_Robot
站務副站長 發表:0 回覆:3511 積分:0 註冊:2007-04-17 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |