winsock.senddata的奇怪問題
1樓:網友
我也鬱悶。我用winsock連線**,連上後返回就一直是8了。
vb winsock使用senddata傳送資料的問題
2樓:網友
這種情況在vb中常見,但感覺沒有太好的辦法。它傳送的時候將字串的位址發了出去,這是vb固有的問題。
乙個使用陣列的方法解決,前面已經有人說了,這個方法很實用。
另乙個是用win32 api。
其他型別的變數傳送之前都轉化成陣列即可傳送,如果不轉化,仍然傳送的是位址。
不論如何還是建議使用c完成這樣的工作,使用vb是事倍功半。
3樓:時永昌
嘗試使用 a(0 to 2) as bytea(0)=...
a(1)=...
a(2)=&hf1
a()接觸不是很深, 一同**下~
關於winsock.senddata方法及winsock.getdata的問題
4樓:扶桑看天
什麼語言?用最簡單的vb來答吧,接收有兩種方式,除了字串,還可以用陣列。
dim byterev() as byte
byterev, vbarray + vbbyte
winsock一次senddata最多傳送多少資料
5樓:pal神仙
理論上是無限,因為winsock緩衝區是8k,所以會將資料分成8k一次傳送多次,這時接收端最好採用方法接收資料,比較麻煩,所以建議你將要傳送的資料分為8k以下的段,一段一段的發!
但有資料說當網路不太好的時候,當傳送的資料越大,其誤位元速率就越高,也就是說出錯的幾率就會越大,雖然系統有校驗功能,出錯會重發,但這樣會影響資料傳送效率,網上有人說,分成1k-2k時效率最高!我沒實驗過!
vb winsock1.senddata "早上好" 問題!
6樓:匿名使用者
可以通過timer來控制:
private sub timer1_timer()static i as long
i = i + 1
if i = 1 then
早上好"elseif i = 2 then
中午好"elseif i = 3 then
下午好"elseif i = 4 then
晚上好"elseif i = 5 then
晚安!"end if
end sub
7樓:網友
新增doevents是沒有用的,msdn裡應該有說到,必須以零字元結尾才能標識本次傳送資訊完畢,零字元即chr$(0)
winsock控制項 關於senddata的問題 總是在winsock1.senddata new_line這裡卡住報錯
8樓:網友
是否處於連線狀態?可在這一句前用debug檢視winsock的狀態。
或者用udp試試。
vb中winsock dataarrival事件內senddata無反應
9樓:網友
winsock不是很熟,但我看你的**在sendata之後好像沒有加doevents, 在使用winsock陣列傳送訊息時,必須使用乙個doevents才能把每乙個winsock的資訊傳送出去, 如果去掉doevents,就不能保證每乙個winsock都能傳送出去資訊。你可以試試。
vb winsock senddata questiona 啊
10樓:我叫明輝
because :
getdata 接受到的不是字元「123」,而是chr(123), so ,getdata a ,a="{".
你應該把:senddata 123 改為 senddata "123"