刚刚接触socket,很多问题不明白,下面是我在网上看到的一段代码,copy到我的程序中,就是连接不上,请高手帮我看看出了什么问题。我的机器和服务器的机器同是内网的机器。我的是10段的,服务器是16段。
服务器端:
Private Sub Command1_Click()
If Winsock1.State <> sckClosed Then Winsock1.Close
Winsock1.Bind
Winsock1.Listen
End SubPrivate Sub Form_Load()
Winsock1.LocalPort = 12345
End SubPrivate Sub Winsock1_ConnectionRequest(ByVal requestID As Long)
If Winsock1.State <> sckClosed Then Winsock1.Close
Winsock1.Accept requestID
End SubPrivate Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
Dim strDate As String
Winsock1.GetData strDate, vbString
Text2.Text = strDate
End Sub
服务器端运行好像没什么问题
客户端:
Private Sub Command1_Click()
Dim strState As String
If Winsock1.State <> sckClosed Then
Winsock1.Close
End If
Winsock1.RemoteHost = xxx.xxx.xxx.xxx
Winsock1.Bind
Winsock1.Connect\\运行到这句出错,错误代码40002,提示当前状态无效
Command1.Enabled = False
End SubPrivate Sub Form_Load()
Winsock1.RemotePort = 12345
End SubPrivate Sub Text3_Change()
If Winsock1.State = sckConnected Then
Winsock1.SendData Text3.Text
End If
End SubPrivate Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
Dim str As String
Winsock1.GetData str, vbString
Text2.Text = str
End Sub
服务器端:
Private Sub Command1_Click()
If Winsock1.State <> sckClosed Then Winsock1.Close
Winsock1.Bind
Winsock1.Listen
End SubPrivate Sub Form_Load()
Winsock1.LocalPort = 12345
End SubPrivate Sub Winsock1_ConnectionRequest(ByVal requestID As Long)
If Winsock1.State <> sckClosed Then Winsock1.Close
Winsock1.Accept requestID
End SubPrivate Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
Dim strDate As String
Winsock1.GetData strDate, vbString
Text2.Text = strDate
End Sub
服务器端运行好像没什么问题
客户端:
Private Sub Command1_Click()
Dim strState As String
If Winsock1.State <> sckClosed Then
Winsock1.Close
End If
Winsock1.RemoteHost = xxx.xxx.xxx.xxx
Winsock1.Bind
Winsock1.Connect\\运行到这句出错,错误代码40002,提示当前状态无效
Command1.Enabled = False
End SubPrivate Sub Form_Load()
Winsock1.RemotePort = 12345
End SubPrivate Sub Text3_Change()
If Winsock1.State = sckConnected Then
Winsock1.SendData Text3.Text
End If
End SubPrivate Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
Dim str As String
Winsock1.GetData str, vbString
Text2.Text = str
End Sub
解决方案 »
- 用WINDOWS XP里的造字程序造的字用在VB程序里,怎么显示在别的机器上?
- 菜单:保存数据(S) CTRL+S 后面的CTRL+S怎么才能起作用?请教
- 如何遍历windows的网络连接?在线等候!!
- 如何找到当前桌面上打开的所有窗口中 具有焦点的窗口的hwnd 100分
- 请问了
- PSD, .TIFF, .LBM, and many more image types文件格式源码提供
- 毕业设计 想做个台球厅计费软件
- 请问网页上给控件传递参数的问题?
- sql语句错误,急!!!
- SOS!!!!救命!!!!!!!!!!!!
- com服务器端能否获得客户端的 机器名、ip地址、登陆名
- 100分求助(分数不够可另行开贴送分)!activereport 控件的使用
Winsock1.RemotePort = 12345
Winsock1.RemoteHost = xxx.xxx.xxx.xxx
Winsock1.Connect
End Sub你把连接都放在formload里面看看呢
Winsock1.LocalPort = 12345
Winsock1.Listen
End Sub