为了处理程序方便,你需要填加二个变量
dim g_bHasData As Boolean '是否有数据
Dim g_bError As Boolean '是否有错误发生然后在DataArrival中把g_bHasData设置为true,在Error中把g_bError 设置为true
Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
g_bHasData = true
End SubPrivate Sub csoket_Error(ByVal Number As Integer, Description As String, ByVal Scode As Long, ByVal Source As String, ByVal HelpFile As String, ByVal HelpContext As Long, CancelDisplay As Boolean)
'根据错误条件把g_bError甚至为true
g_bError = true
End Sub然后在你的程序中
csoket.SendData b的后面填加do until g_bHasData '如果没有数据一直等待
if g_bError then
msgbox "数据发送错误"
exit sub
end if
DoEvents
loopcsoket.GetData b '获取数据
------------------------------------------
在数据发送之前,把g_bError设置为false,把g_bHasData设置为false
这样处理的好处,可以交互式的处理数据。使得结构非常清楚。
至于你发送了数据,而没有接收到数据,可能的原因有好多,
1。是否网络已经连接上
2。发送数据的时候,是否有错误发生
3。服务程序有没有给你传送数据过来
你可以使用网络监视器来监视数据,看一下问题出在什么地方。这种程序只能
靠调试来解决问题的。
dim g_bHasData As Boolean '是否有数据
Dim g_bError As Boolean '是否有错误发生然后在DataArrival中把g_bHasData设置为true,在Error中把g_bError 设置为true
Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
g_bHasData = true
End SubPrivate Sub csoket_Error(ByVal Number As Integer, Description As String, ByVal Scode As Long, ByVal Source As String, ByVal HelpFile As String, ByVal HelpContext As Long, CancelDisplay As Boolean)
'根据错误条件把g_bError甚至为true
g_bError = true
End Sub然后在你的程序中
csoket.SendData b的后面填加do until g_bHasData '如果没有数据一直等待
if g_bError then
msgbox "数据发送错误"
exit sub
end if
DoEvents
loopcsoket.GetData b '获取数据
------------------------------------------
在数据发送之前,把g_bError设置为false,把g_bHasData设置为false
这样处理的好处,可以交互式的处理数据。使得结构非常清楚。
至于你发送了数据,而没有接收到数据,可能的原因有好多,
1。是否网络已经连接上
2。发送数据的时候,是否有错误发生
3。服务程序有没有给你传送数据过来
你可以使用网络监视器来监视数据,看一下问题出在什么地方。这种程序只能
靠调试来解决问题的。
解决方案 »
- 用API取得EXCEL打开的窗口中的值.这个问题已经困扰很多天了,大家帮忙呀...
- 急寻:类似数字硬盘录象机软件的软件界面!!
- 怎样遍历数据集中所有字段的字段名?
- 求resize32.ocx控件,分数在另一个帖子里
- 各位大哥,我刚刚开始使用水晶报表,请问如何将从sql server处获得的recordset内容显示在水晶报表中,能否详细讲解下步骤,谢谢了.
- 如何取出一个字符串中某一特定字符后的内容?
- ~~~!!求救,请教各位高手,如何搜索一个文件夹下面的文件
- 一个关于硬盘ID的问题?(肯定给分!)
- 请帮忙看一下,这个在ACCESS查询中可以正常执行的查询语句在SQL SERVER的查询中却提示错误,请帮忙看一下是什么原因
- 各位,进来看看这个难题吧,解决者送分。
- 在线等待——怎样检测到treeview控件的热跟踪------立即送分
- VB中ACCESS2000数据库的问题????(100分)问题
要先保证连接,在保证准确传输,多调试.多检测.
msgstr = Mid(Trim(RichTextBox1.text), k, 1)
b(24 + k) = Asc(msgstr) '传递短信内容相应ASCII码的值
Next
-------------------
这些代码有问题
正确的方法,应该是
Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (Destination As Any, Source As Any, ByVal length As Long)
Private Declare Function lstrlen Lib "kernel32" Alias "lstrlenA" (ByVal lpString As String) As Longdim strMsg as string
strMsg = RichTextBox1.text
CopyMemory b(25), strMsg, lstrlen(strMsg)
先修改为:CopyMemory b(25),byval strMsg, lstrlen(strMsg)