的TCPListener

编程入门 行业动态 更新时间:2024-10-25 02:29:23
本文介绍了的TCPListener的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述

我有一个tcpclient的工作代码,但我似乎无法弄清楚 如何使用tcplistener来连接它。我只想要按下一个按钮并且 听取TCP连接并连接到特定端口,但任何尝试我都会尝试失败....任何帮助都会b awsome - -iwdu15

hi i have a working code for a tcpclient, but i cant seemt of figure out how to use a tcplistener to connect with it. i just want to clck a button and listen for a TCP conection and conect to a specific port, but any attempt i try fails....any help would b awsome -- -iwdu15

推荐答案

发送你的代码,看看我们能做什么做 -----原始消息----- 来自:iwdu15 [mailto:iw **** @ discussion.microsoft ] 发表于:2005年9月28日星期三,下午10:37 发布至:microsoft.public.dotnet.languages.vb 会话:TCPListener 主题:TCPListener 你好我有一个tcpclient的工作代码,但我似乎无法搞清楚 如何使用tcplistener连接它来获得。我只想按一下按钮 和 听取TCP连接并连接到特定端口,但任何 尝试我 尝试失败....任何帮助都会很棒 - -iwdu15 Send your code to see what we can do -----Original Message----- From: iwdu15 [mailto:iw****@discussions.microsoft] Posted At: Wednesday, September 28, 2005 10:37 PM Posted To: microsoft.public.dotnet.languages.vb Conversation: TCPListener Subject: TCPListener hi i have a working code for a tcpclient, but i cant seemt of figure out how to use a tcplistener to connect with it. i just want to clck a button and listen for a TCP conection and conect to a specific port, but any attempt i try fails....any help would b awsome -- -iwdu15

好的,这是我试图听的异步代码: #Region"声明" Dim homeip As Net.IPAddress Dim ClientSocket As Net.Sockets.Socket Dim ASCII As New System.Text.ASCIIEncoding #End Region #Region" Listen" Private Sub btnlisten_Click(ByVal sender As System.Object,ByVal e As System.EventArgs)处理btnlisten.Click Call Listen(homeip,我。 txtlistenport.Text) End Sub Private Sub Listen(ByVal IP As IPAddress,ByVal port As Integer) Dim ep As New Net.IPEndPo int(IP,port) ListenSocket = New Net.Sockets.Socket(AddressFamily.InterNetwork, SocketType.Stream,ProtocolType.Tcp) ListenSocket.BeginAccept(AddressOf ListenCallBack,Nothing) End Sub Private Sub ListenCallBack(ByVal ar正如IAsyncResult) 尝试 ListenSocket.EndAccept(ar) ''开始接收数据 Dim bytes(4095)By Byte ClientSocket.BeginReceive(bytes,0,bytes.Length, SocketFlags.None,AddressOf ListenReceiveCallBack,bytes) Catch ex As Exception Me.rtbinfo.Text + = vbNewLine& ex.Message& vbNewLine 结束尝试 结束子 Private Sub ListenReceiveCallBack(ByVal ar as IAsyncResult) Dim bytes()As Byte = CType(ar.AsyncState,Byte()) Dim numbytes As Int32 = ListenSocket.EndReceive(ar) 如果numbytes = 0那么 ListenSocket.Shutdown(SocketShutdown.Both) ListenSocket.Close() Else Dim recv As String = ASCII.GetString(bytes,0,numbytes) ''清除缓冲区 Array.Clear(bytes,0,bytes.Length) ''再次开始接收 ClientSocket.BeginReceive( bytes,0,bytes.Length, SocketFlags.None,AddressOf ListenReceiveCallBack,bytes) 结束如果 结束分 #End Region 谢谢 -iwdu15 ok, heres the code i tried for listening async: #Region "Declarations" Dim homeip As Net.IPAddress Dim ClientSocket As Net.Sockets.Socket Dim ASCII As New System.Text.ASCIIEncoding Dim ListenSocket As Net.Sockets.Socket #End Region #Region "Listen" Private Sub btnlisten_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnlisten.Click Call Listen(homeip, Me.txtlistenport.Text) End Sub Private Sub Listen(ByVal IP As IPAddress, ByVal port As Integer) Dim ep As New Net.IPEndPoint(IP, port) ListenSocket = New Net.Sockets.Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp) ListenSocket.BeginAccept(AddressOf ListenCallBack, Nothing) End Sub Private Sub ListenCallBack(ByVal ar As IAsyncResult) Try ListenSocket.EndAccept(ar) ''Begin Receiveing Data Dim bytes(4095) As Byte ClientSocket.BeginReceive(bytes, 0, bytes.Length, SocketFlags.None, AddressOf ListenReceiveCallBack, bytes) Catch ex As Exception Me.rtbinfo.Text += vbNewLine & ex.Message & vbNewLine End Try End Sub Private Sub ListenReceiveCallBack(ByVal ar As IAsyncResult) Dim bytes() As Byte = CType(ar.AsyncState, Byte()) Dim numbytes As Int32 = ListenSocket.EndReceive(ar) If numbytes = 0 Then ListenSocket.Shutdown(SocketShutdown.Both) ListenSocket.Close() Else Dim recv As String = ASCII.GetString(bytes, 0, numbytes) ''Clear the buffer Array.Clear(bytes, 0, bytes.Length) ''Begin Receive Again ClientSocket.BeginReceive(bytes, 0, bytes.Length, SocketFlags.None, AddressOf ListenReceiveCallBack, bytes) End If End Sub #End Region thanks -iwdu15

您好, 关于您的代码的一些评论。 1.我不知道你是否分配了一些东西给homeip。 2.我不知道你是否将ListenSocket绑定到homeip,并把它放入 听力状态。 3.在接收到数据之前,我没有看到你向ClientSocket分配了什么内容。 4.在ListenReceiveCallBack例行程序中你从调用EndReceive,而不是ClientSocket。 所以, 1.给homeip分配一些东西。例如,IPAddress.Any。 2.插入~S ListenSocket.Bind(ep)〜和~RistenSocket.Listen(0)〜事先 调用ListenSocket.BeginAccept ()。 3.将~ShopSocket.EndAccept(ar)〜改为~ClientSocket = ListenSocket.EndAccept(ar)〜。 4.将~ShopSocket.EndReceive~改为~ClientSocket.EndReceive~。 希望这会有所帮助, 罗马 " iwdu15" < IW **** @ discussions.microsoft> ó???Yéì/ó???Yéìá×??×?ó??è $ b $bóì????Y ??:news:B4 *********** *********************** @ microsof t ... Hi, A few comments about your code. 1. I don''t see whether you assigned something to homeip. 2. I don''t see if you bound ListenSocket to homeip, and put it into listening state. 3. I don''t see where you assigned something to ClientSocket before receiving data from it. 4. In ListenReceiveCallBack routine you call EndReceive from ListenSocket, not ClientSocket. So, 1.Assign something to homeip. For example, IPAddress.Any. 2. Insert ~ ListenSocket.Bind(ep) ~ and ~ ListenSocket.Listen(0) ~ prior to call to ListenSocket.BeginAccept(). 3. Change ~ ListenSocket.EndAccept(ar) ~ to ~ ClientSocket = ListenSocket.EndAccept(ar) ~. 4. Change ~ ListenSocket.EndReceive ~ to ~ ClientSocket.EndReceive ~. Hope this helps, Roman "iwdu15" <iw****@discussions.microsoft> ó???Yéì/ó???Yéìá × ??×?ó??è óì???àY??: news:B4**********************************@microsof t... 好,继承我试听的异步代码: #Region声明 Dim homeip As Net.IPAddress Dim ClientSocket As Net.Sockets.Socket Dim ASCII As New System。 Text.ASCIIEncoding Dim ListenSocket As Net.Sockets.Socket #End Region #Region" Listen" Private Sub btnlisten_Click(ByVal sender As System.Object,ByVal e As System.EventArgs)处理btnlisten.Click 调用Listen(homeip,Me.txtlistenport.Text) End Sub Private Sub Listen(ByVal IP As IPAddress,ByVal port As Integer) Dim ep As New Net.IPEndPoint(IP,port) ListenSocket = New Net.Sockets.Socket(AddressFamily.InterNetwork,SocketType.Stream,ProtocolType.Tcp ) ListenSocket.BeginAccept(AddressOf ListenCallBack,Nothing) End Sub Private Sub ListenCallBack(ByVal ar as IAsyncResult) Me.rtbinfo.Text + = vbNewLine& ex.Message& vbNewLine 结束尝试 结束Sub 私有Sub ListenReceiveCallBack(ByVal ar AsAsAsyncResult) Dim bytes()As Byte = CType (ar.AsyncState,Byte()) Dim numbytes As Int32 = ListenSocket.EndReceive(ar) 如果numbytes = 0那么 ListenSocket.Shutdown(SocketShutdown) .Both) ListenSocket.Close() 其他 Dim recv As String = ASCII.GetString(bytes,0,numbytes) />''清除缓冲区 Array.Clear(bytes,0,bytes.Length) ''再次开始接收 ClientSocket.BeginReceive(bytes,0,bytes。长度, SocketFlags.None,AddressOf ListenReceiveCallBack,bytes) 结束如果 结束子 #End Region 谢谢 -iwdu15 ok, heres the code i tried for listening async: #Region "Declarations" Dim homeip As Net.IPAddress Dim ClientSocket As Net.Sockets.Socket Dim ASCII As New System.Text.ASCIIEncoding Dim ListenSocket As Net.Sockets.Socket #End Region #Region "Listen" Private Sub btnlisten_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnlisten.Click Call Listen(homeip, Me.txtlistenport.Text) End Sub Private Sub Listen(ByVal IP As IPAddress, ByVal port As Integer) Dim ep As New Net.IPEndPoint(IP, port) ListenSocket = New Net.Sockets.Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp) ListenSocket.BeginAccept(AddressOf ListenCallBack, Nothing) End Sub Private Sub ListenCallBack(ByVal ar As IAsyncResult) Try ListenSocket.EndAccept(ar) ''Begin Receiveing Data Dim bytes(4095) As Byte ClientSocket.BeginReceive(bytes, 0, bytes.Length, SocketFlags.None, AddressOf ListenReceiveCallBack, bytes) Catch ex As Exception Me.rtbinfo.Text += vbNewLine & ex.Message & vbNewLine End Try End Sub Private Sub ListenReceiveCallBack(ByVal ar As IAsyncResult) Dim bytes() As Byte = CType(ar.AsyncState, Byte()) Dim numbytes As Int32 = ListenSocket.EndReceive(ar) If numbytes = 0 Then ListenSocket.Shutdown(SocketShutdown.Both) ListenSocket.Close() Else Dim recv As String = ASCII.GetString(bytes, 0, numbytes) ''Clear the buffer Array.Clear(bytes, 0, bytes.Length) ''Begin Receive Again ClientSocket.BeginReceive(bytes, 0, bytes.Length, SocketFlags.None, AddressOf ListenReceiveCallBack, bytes) End If End Sub #End Region thanks -iwdu15

更多推荐

的TCPListener

本文发布于:2023-11-12 18:51:23,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1582259.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:TCPListener

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!