| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 985 人关注过本帖
标题:使用VB的WinSock控件编写的服务器和客户端程序,连接不上
取消只看楼主 加入收藏
wang12zhe
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2015-1-15
结帖率:0
收藏
已结贴  问题点数:2 回复次数:2 
使用VB的WinSock控件编写的服务器和客户端程序,连接不上
客户端程序
Private Sub cmdConnect_Click()
    '调用 Connect 方法,初始化连接。
   'tcpClient.Connect
   tcpClient.RemoteHost = "192.168.2.100"   '"192.168.2.100"
   tcpClient.LocalPort = 2000
   tcpClient.Connect
   Print tcpClient.State  '显示当前状态
End Sub

Private Sub Form_Load()
   'Winsock 控件的名字为 tcpClient。
   '注意:要指定远程主机,可以使用
   ' IP 地址(例如:"121.111.1.1"),也可以使用
   '计算机的“好听的名字”如下所示。
  ' tcpClient.RemoteHost = "K4GBIDX1UPOP4JA"
  ' tcpClient.RemotePort = 2000
End Sub

Private Sub tcpClient_DataArrival(ByVal bytesTotal As Long)
   Dim strData As String
   tcpClient.GetData strData
   txtOutput.Text = strData
End Sub

Private Sub Timer1_Timer()
  Print tcpClient.State    '定时显示连接状态
End Sub

Private Sub txtSend_Change()
   tcpClient.SendData (txtSend.Text)
End Sub


服务器程序



Private Sub Form_Load()
'将 LocalPort 属性设置为一个整数。
'然后调用 Listen 方法。

tcpServer.LocalPort = 2000
tcpServer.Listen
  
frmClient.Show                     '显示客户端的窗体。
End Sub

Private Sub tcpServer_Connect()
 '检查控件的 State 属性是否为关闭的。
'如果不是,
'在接受新的连接之前先关闭此连接。
MsgBox ("Connect")
If tcpServer.State <> sckClosed Then _
tcpServer.Close
'接受具有 requestID 参数的
'连接。
tcpServer.Accept = requestID
End Sub

Private Sub tcpServer_DataArrival(ByVal bytesTotal As Long)
 '为进入的数据声明一个变量。
'调用 GetData 方法,并将数据赋予名为 txtOutput
'的 TextBox 的 Text 属性。
Dim strData As String
tcpServer.GetData strData
txtOutput.Text = strData

End Sub



Private Sub txtSendData_Change()
 '名为 txtSendData 的 TextBox 控件中
'包含了要发送的数据。当用户往文本框中
'键入数据时,使用 SendData 方法
'发送输入的字符串。
tcpServer.SendData (txtSendData.Text)

End Sub


第一次使用WinSock控件,总是连接不上,请大神帮忙看看为什么

我是在一个VB工程里建立的两个窗口,一个做服务器窗口,一个做客户端窗口,

客户端程序里有个
   tcpClient.RemoteHost = "192.168.4.100"   这个必须是电脑的实际IP吗?
搜索更多相关主题的帖子: 好听的名字 计算机 服务器 客户端 
2015-01-15 21:46
wang12zhe
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2015-1-15
收藏
得分:0 
回复 3楼 lianyicq
客户端程序
Private Sub cmdConnect_Click()
    '调用 Connect 方法,初始化连接。
   'tcpClient.Connect
   tcpClient.RemoteHost = "192.168.2.100"   '"192.168.2.100"     '远程主机名字和端口改成在这初始化的
   tcpClient.LocalPort = 2000
   tcpClient.Connect
   Print tcpClient.State  '显示当前状态
End Sub

Private Sub Form_Load()
   'Winsock 控件的名字为 tcpClient。
   '注意:要指定远程主机,可以使用
   ' IP 地址(例如:"121.111.1.1"),也可以使用
   '计算机的“好听的名字”如下所示。
  ' tcpClient.RemoteHost = "K4GBIDX1UPOP4JA"
  ' tcpClient.RemotePort = 2000
End Sub

不明白所说的实际IP地址是什么意思?想来是内网和外网IP地址吧。如果你在内网连,就用内网IP,在外网,当然就用外网IP
假如我的电脑IP是192.168.1.66
那tcpClient.RemoteHost = "192.168.1.66" 必须这样写吗?不能是其他的IP?

我是在同一台计算机上尝试的,同一个工程的的两个窗口,一个做客户端窗口  一个做服务器窗口
2015-01-16 11:19
wang12zhe
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2015-1-15
收藏
得分:0 
回复 2楼 风吹过b
还是不行
2015-01-16 19:22
快速回复:使用VB的WinSock控件编写的服务器和客户端程序,连接不上
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.026294 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved