VB.NET 网络通讯示例(客户端)

'**********代码开始************'
Imports System.Net.Sockets
'使用到TcpListen类
Imports System.IO
'使用到StreamWriter类
Imports System.Net
'使用IPAddress类、IPHostEntry类等

Public Class Form1
    Private swWriter As StreamWriter
    '用以向网络基础数据流传送数据
    Private nsStream As NetworkStream
    '创建发送数据的网络基础数据流
    Private tcpClient As TcpClient
    '通过它实现向远程主机提出TCP连接申请
    Private tcpConnect As Boolean = False
    '定义标识符,用以表示TCP连接是否建立

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim ipRemote As IPAddress
        Dim tcpClient As TcpClient
        Try
            ipRemote = IPAddress.Parse(TextBox1.Text)
        Catch
            MessageBox.Show("输入的IP地址不合法!", "错误提示!")
            Return
            '判断给定的IP地址的合法性
        End Try
        Try
            tcpClient = New TcpClient(TextBox1.Text, 8000)
            '对远程主机的8000端口提出TCP连接申请
            nsStream = tcpClient.GetStream()
            '通过申请,并获取传送数据的网络基础数据流
            swWriter = New StreamWriter(nsStream)
            '使用获取的网络基础数据流来初始化StreamWriter实例
            Button1.Enabled = False
            Button2.Enabled = True
            tcpConnect = True
            StatusBar1.Text = "已经连接!"
        Catch
            MessageBox.Show("无法和远程主机8000端口建立连接!", "错误提示!")
            Return
        End Try
    End Sub

    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        If (TextBox2.Text <> "") Then
            swWriter.WriteLine(TextBox2.Text)
            '刷新当前数据流中的数据
            swWriter.Flush()
            TextBox2.Text = ""
        Else
            MessageBox.Show("发送信息不能为空!", "错误提示!")
        End If
    End Sub

    Private Sub Form1_Disposed(sender As Object, e As System.EventArgs) Handles Me.Disposed
        If tcpConnect Then
            swWriter.WriteLine("STOP")
            '发送控制码
            swWriter.Flush()
            '刷新当前数据流中的数据
            nsStream.Close()
            swWriter.Close()
            '清除资源 ( )
        End If
        If Disposing Then
            If Not (components Is Nothing) Then
                components.Dispose()
            End If
        End If
        MyBase.Dispose(Disposing)
    End Sub

End Class
'**********代码结束************'

这里写图片描述

本文中的源代码下载:http://pan.baidu.com/share/link?shareid=462974&uk=387416479

  • 7
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值