| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1225 人关注过本帖
标题:[求助]关于异步Socket的一个问题
取消只看楼主 加入收藏
ninggang
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:637
专家分:0
注 册:2006-11-1
结帖率:40%
收藏
 问题点数:0 回复次数:3 
[求助]关于异步Socket的一个问题

我有一个异步Socket程序,有时候客户端能够连接上服务器,但是有时候却积极拒绝,这是怎么会事啊?这是我程序的代码: Private Sub StartListen()
Dim intport As Integer
Dim bidEndPoint As IPEndPoint
intport = Integer.Parse(TextBox1.Text)
Dim myip As IPAddress = IPAddress.Parse("192.168.162.180")
bidEndPoint = New IPEndPoint(myip, intport)
mylistener = New Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp)

Try
mylistener.Bind(bidEndPoint)
Dim myAsyncCallBack As New AsyncCallback(AddressOf AcceptEnd)
While True

mylistener.Listen(intport) '参数为挂起队列的长度
mylistener.BeginAccept(myAsyncCallBack, mylistener)
TextBox2.Text += vbCrLf + "等待连机中,开始整理数据......"
'有一段代码没有写呢?哈哈(无关紧要的代码)
End While

Catch ex As Exception
MessageBox.Show(ex.Message, "打开连接错误", MessageBoxButtons.OK, MessageBoxIcon.Warning)
End Try

End Sub
Private Sub AcceptEnd(ByVal pIAsyncResult As IAsyncResult)
EndSocket = mylistener.EndAccept(pIAsyncResult)
Button3.Enabled = True '将接受按钮置于能够用的状态
TextBox2.Text += vbCrLf + "已接受客户端的请求!!"
End Sub
(服务器端的)

搜索更多相关主题的帖子: Socket 异步 
2006-12-15 10:36
ninggang
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:637
专家分:0
注 册:2006-11-1
收藏
得分:0 
另外我的客户端的连接代码如下:
Private Sub StartConnect()
Dim intport As Integer
Dim bidEndPoint As IPEndPoint
intport = Integer.Parse(TextBox2.Text)
bidEndPoint = New IPEndPoint(IPAddress.Parse(TextBox1.Text), intport)
myconnect = New Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp)
Dim myAsyncCallBack As New AsyncCallback(AddressOf ConnectEnd)
Try
' Dim myAsyncCallBack As New AsyncCallback(AddressOf ConnectEnd)委托回调有问题
myconnect.BeginConnect(bidEndPoint, myAsyncCallBack, myconnect)
TextBox3.Text += vbCrLf + "等待连至服务器响应中,开始整理数据...."
Thread.Sleep(500)
TextBox4.Text += "Begin-------" + vbCrLf
Thread.Sleep(500)
TextBox4.Text += "This is The First String..." + vbCrLf
Thread.Sleep(500)
TextBox4.Text += "This is The Second String..." + vbCrLf
Thread.Sleep(500)
TextBox4.Text += "End--------"
Catch ex As Exception
MessageBox.Show(ex.Message, "打开连接错误", MessageBoxButtons.OK, MessageBoxIcon.Warning)
End Try
End Sub
Private Sub ConnectEnd(ByVal PIAsyncResult As IAsyncResult)
myconnect.EndConnect(PIAsyncResult)
TextBox3.Text += vbCrLf + "成功连接至服务器!!"
End Sub

大家一起努力,共同打造未来!!
2006-12-15 10:37
ninggang
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:637
专家分:0
注 册:2006-11-1
收藏
得分:0 
怎么没有人回答啊?

大家一起努力,共同打造未来!!
2006-12-15 13:24
ninggang
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:637
专家分:0
注 册:2006-11-1
收藏
得分:0 
我晕了,看来只有自己解决了,哈哈

大家一起努力,共同打造未来!!
2006-12-17 09:16
快速回复:[求助]关于异步Socket的一个问题
数据加载中...
 
   



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

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