Foxtable(狐表)用户栏目专家坐堂 → 请问一下关于tcp


  共有2938人关注过本帖树形打印复制链接

主题:请问一下关于tcp

帅哥哟,离线,有人找我吗?
tcmhl
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:159 积分:1718 威望:0 精华:0 注册:2014/9/1 0:35:00
请问一下关于tcp  发帖心情 Post By:2021/2/22 9:15:00 [只看该作者]

学习中,请问一下,下面代码为啥每次连接只能收到第一次发送的数据并新增行




Public iPort As Integer = 10086
Public thThreadRead As System.Threading.Thread
Public tlTcpListen As System.Net.Sockets.TcpListener 
Public blistener As Boolean = True 
Public nsStream As System.Net.Sockets.NetworkStream 
''''创建接收的基本数据流 
Public srRead As System.IO.StreamReader 
''''从网络基础数据流中读取数据 
Public tcClient As System.Net.Sockets.TcpClient 

Public Sub Listen()
Try 
 tlTcpListen = New System.Net.Sockets.TcpListener (iPort)
 ''''以8000端口号来初始化TcpListener实例 
 tlTcpListen.Start() 
 ''''开始监听 
 'StatusBar1.Text = "正在监听..." 
 tcClient = tlTcpListen.AcceptTcpClient()
 ''''通过TCP连接请求 
 nsStream = tcClient.GetStream ( )  
 ''''获取用以发送?接收数据的网络基础数据流 
 srRead = New System.IO.StreamReader (nsStream)  
 ''''以得到的网络基础数据流来初始化StreamReader实例 
 ''''StatusBar1.Text = "已经建立TCP连接!" 
 ''''循环侦听 
 While blistener 
  Dim sMessage As String = srRead.ReadLine ( )  
  ''''从网络基础数据流中读取一行数据 
  If ( sMessage = "STOP" ) Then 
   tlTcpListen.Stop ( )  
   ''''关闭侦听 
   nsStream.Close ( )  
   srRead.Close ( )  
   ''''释放资源 
    ''''StatusBar1.Text = "无连接!" 
   thThreadRead.Abort ( )  
   ''''中止线程 
   Return 
  Else 
   ''''判断是否为断开TCP连接控制码 
 Dim sTime As String = DateTime.Now.ToShortTimeString ( )  
   ''''获取接收数据时的时间 
   '''' ListBox1.Items.Add ( sTime + " " + sMessage )  
  End If 
  MessageBox.Show(sMessage) 
 End While 
Catch ex As System.Security.SecurityException 
 MessageBox.Show ( "侦听失败!" , "错误" )  
End Try 
End Sub

 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110743 积分:563641 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/2/22 9:26:00 [只看该作者]

去做个可以测试的项目实例发上来测试

 回到顶部
帅哥哟,离线,有人找我吗?
tcmhl
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:159 积分:1718 威望:0 精华:0 注册:2014/9/1 0:35:00
  发帖心情 Post By:2021/2/22 9:27:00 [只看该作者]

感谢!
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:测试.rar



[此贴子已经被作者于2021/2/22 9:27:29编辑过]

 回到顶部
帅哥,在线噢!
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110743 积分:563641 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/2/22 9:40:00 [只看该作者]

AcceptTcpClient方法要放到循环里面,参考:https://blog.csdn.net/nuistchn/article/details/50809158

或者看看这个例子:http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=28230&skin=0

 回到顶部