SOCKET傳輸的問題? |
答題得分者是:Stallion
|
裝傻
一般會員 發表:11 回覆:14 積分:5 註冊:2005-03-17 發送簡訊給我 |
各位大大好: 上次我爬文看到有大大PO的SOCKET傳輸程式我就試著做一個但是當我傳輸只傳一個"1"時他竟然收不到不管我傳幾次都是這樣除非我在傳輸那打入"1111"以上的文字他才傳的出去為什麼內? 下面是我上傳的程式希望可以幫我看看我錯在哪內? 謝謝!!
http://myweb.hinet.net/home8/adan1234/socket.rar |
Stallion
版主 發表:52 回覆:1600 積分:1995 註冊:2004-09-15 發送簡訊給我 |
<textarea class="cpp" rows="10" cols="60" name="code">
void __fastcall TForm1::Button1Click(TObject *Sender)
{
//給予傳送的資料,把SendStatus設為「等待回應」,並打開計時器, char *pSend = new char[1024];
for(int i = 0;i<1024;i )
*pSend = NULL; //這邊改成這樣
//ShowMessage((char*)Edit1->Text);
pSend = (char*)Edit1->Text.c_str();
SendStatus = WaitintResponse; ClientSocket1->Socket->SendBuf(pSend,Edit1->Text.Length() ); //這邊改成這樣
//Sleep(1000);
Timer1->Enabled=true; delete pSend;
}
</textarea>
------------------- 學,然後知不足。
|
裝傻
一般會員 發表:11 回覆:14 積分:5 註冊:2005-03-17 發送簡訊給我 |
|
Stallion
版主 發表:52 回覆:1600 積分:1995 註冊:2004-09-15 發送簡訊給我 |
|
裝傻
一般會員 發表:11 回覆:14 積分:5 註冊:2005-03-17 發送簡訊給我 |
|
eath199
一般會員 發表:23 回覆:33 積分:16 註冊:2006-12-07 發送簡訊給我 |
|
eath199
一般會員 發表:23 回覆:33 積分:16 註冊:2006-12-07 發送簡訊給我 |
|
cartor
一般會員 發表:0 回覆:7 積分:1 註冊:2005-04-07 發送簡訊給我 |
BCB的Help中有寫, 可以參考BCB Help.
我沒用過這個VCL, 不過照BCB中的說明, SendBuf()這個function是將void *buf送出(你指的A), 後面放的是void *buf的長度(你指的B), 我猜測中文的話(Big5)一個中文字的長度應該是2, 所以ClientSocket1->Socket->SendBuf("中",2)這樣寫應該就可以送出去了, 如果要送純文字, 我看了一下socket還有其他的function, 例如SendText()可以傳送存文字的部份. 用法: int __fastcall SendBuf(void *Buf, int Count); int __fastcall SendText(const AnsiString S); 還有蠻多可以用, 可以參考BCB Help....... ===================引 用 文 章=================== ClientSocket1->Socket->SendBuf(????????A???????,????????B???????? ); 看到很多人都用這個指令傳送? 自己也試了一下? 有些問題想請教一下大家? 請問上面那行紅色的A B兩個地方要填的格式是什麼?? 送出的大小有限制ㄇ???2BYTE?? |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |