已经执行了
Winsock1.LocalPort = 5187
Winsock1.ListenPrivate Sub Winsock1_ConnectionRequest(ByVal requestID As Long)On Error GoTo ErrorCode
If Winsock1.State <> sckClosed Then
Winsock1.Close ' close Connection
End If
Winsock1.Accept requestID 'Make the connection
Exit Sub
ErrorCode:
MsgBox Trim(Str(Err.number)) + " " + Err.Description, vbCritical
End Sub
Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
Dim Sql As String
Dim strData As String
Dim i As Long
Dim status As RSI_STATUS
Dim Result As Long
Dim strBox As String
Dim ID As RSI_ID
Dim bTempHand(100) As Boolean
Dim strTimeZone(100) As String
Dim strUserLevel(100) As String
Dim ur As RSI_USER_RECORD
Dim J As Long
Dim li As Long
Dim lj As Long
Dim UserRec As RSI_USER_RECORD
Dim tz As RSI_TIME_ZONE_TABLE
Dim strDays As String
Dim strTemp As String
Dim lHowManyDays As Long
Winsock1.GetData strData, vbString
If Mid(strData, 1, 1) = "@" And Mid(strData, Len(strData) - 3, 4) = "@END" Then
SendOk (strData)
Else
SendRepeat (strData)
Exit Sub
End If
Select Case Mid(strData, 2, 6)
Case "AddUse"
GetReceiveData (strData)
'以下代码省略Public Sub SendAddUser(ByVal ID As String, ByVal name As String, ByVal Parment As String, ByVal strDate As String, ByVal LeverZone As String, ByVal Reject As String, ByVal Handbmp As String, ByVal HandID As String)
Dim strSendString As String
strSendString = "@AddUse@" + ID + "@" + name + "@" + Parment + "@" + strDate + "@" + LeverZone + "@" + Reject + "@" + Handbmp + "@" + HandID + "@END"
If FRealTime.Winsock1.State = 7 Then
FRealTime.Winsock1.SendData strSendString
End If
End Sub这段代码是别人写的,看上去好象是2个机器间的交互操作。但是实际上只有一台机器,所以我就感到很不理解了。请问有没有可能Winsock自己连接自己,自己发消息给自己呢?
Winsock1.LocalPort = 5187
Winsock1.ListenPrivate Sub Winsock1_ConnectionRequest(ByVal requestID As Long)On Error GoTo ErrorCode
If Winsock1.State <> sckClosed Then
Winsock1.Close ' close Connection
End If
Winsock1.Accept requestID 'Make the connection
Exit Sub
ErrorCode:
MsgBox Trim(Str(Err.number)) + " " + Err.Description, vbCritical
End Sub
Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
Dim Sql As String
Dim strData As String
Dim i As Long
Dim status As RSI_STATUS
Dim Result As Long
Dim strBox As String
Dim ID As RSI_ID
Dim bTempHand(100) As Boolean
Dim strTimeZone(100) As String
Dim strUserLevel(100) As String
Dim ur As RSI_USER_RECORD
Dim J As Long
Dim li As Long
Dim lj As Long
Dim UserRec As RSI_USER_RECORD
Dim tz As RSI_TIME_ZONE_TABLE
Dim strDays As String
Dim strTemp As String
Dim lHowManyDays As Long
Winsock1.GetData strData, vbString
If Mid(strData, 1, 1) = "@" And Mid(strData, Len(strData) - 3, 4) = "@END" Then
SendOk (strData)
Else
SendRepeat (strData)
Exit Sub
End If
Select Case Mid(strData, 2, 6)
Case "AddUse"
GetReceiveData (strData)
'以下代码省略Public Sub SendAddUser(ByVal ID As String, ByVal name As String, ByVal Parment As String, ByVal strDate As String, ByVal LeverZone As String, ByVal Reject As String, ByVal Handbmp As String, ByVal HandID As String)
Dim strSendString As String
strSendString = "@AddUse@" + ID + "@" + name + "@" + Parment + "@" + strDate + "@" + LeverZone + "@" + Reject + "@" + Handbmp + "@" + HandID + "@END"
If FRealTime.Winsock1.State = 7 Then
FRealTime.Winsock1.SendData strSendString
End If
End Sub这段代码是别人写的,看上去好象是2个机器间的交互操作。但是实际上只有一台机器,所以我就感到很不理解了。请问有没有可能Winsock自己连接自己,自己发消息给自己呢?
解决方案 »
- 数据库已打开,拷贝文件是否有影响?另外读写的语句是否可以优化?
- 发个搞笑贴:)给大家缓解缓解精神!2006年论坛斑竹全国统一考试试题
- 如何将用四字节十六进制表示的浮点小数转换成一个浮点数并保存至一个Single变量中
- 请问学VB有什么好的教材没?
- 我如何动态打开一个数据库?
- DLL控件可以调用OCX吗?
- 控制"开始"按钮的问题???
- 很久不来了,及找大师帮忙,大师,快来!!!
- 小弟的程序支持一下(谢了先!)......
- 关于 BeginUpdateResource系列函数的问题,高手请进
- 选择性的访问excel表(.xls),它的字段名是什么?是不是它上面标的A,B,C,D?
- 请问combobox和数据库的问题
并且当客户连接上来之后,接受客户端的指令,做出相应的动作。应该还有一个客户端的程序。用来连接和发送指令。
一台机器当然也可以运行连接自己的TCP/IP程序。
但它同样需要一个服务器段和客户端程序。