DSAPI多功能组件编程应用网络相关(下)

[DSAPI.DLL下载地址]


在本篇,我将重点介绍DSAPI.DLL中Socket编程的使用。众所周知,Socket用起来不难,但是写起来麻烦。我对Socket进行了封装,进行了高度简化。下面我将通过代码编写一个服务端和一个客户端,注意看,不要惊讶为什么代码这么少,因为一切需要的我都集成在里面了,只需要这几句代码即可。


编写一个Socket服务端

 Private WithEvents 服务端 As New DSAPI.网络相关.Socket传输.服务端_多用户

 Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        
        With 服务端
            .端口 = 2000
            .开始监听()
        End With

    End Sub

 至此,已经完成了Socket服务端的建立,上面演示的是允许多用户连接的服务端,同时也有DSAPI.网络相关.Socket传输.服务端_单用户,只允许一个用户连接的。

你可以通过服务端的几个事件来完成你需要的几乎所有的功能,服务端事件如下:

服务端_服务状态更改(e As DSAPI.网络相关.Socket传输.服务端_多用户.服务状态)
服务端_接收到数据(e() As Byte, IP As String, Sck As Net.Sockets.Socket)
服务端_收到客户端连接(客户端IP As String, Socket As Net.Sockets.Socket)
服务端_有客户端断开(客户端IP As String)


收到客户端数据时,向该客户端发送消息

   Private Sub 服务端_接收到数据(e() As Byte, IP As String, Sck As Net.Sockets.Socket) Handles 服务端.接收到数据
        服务端.向指定客户端发送文本(Sck, "你好啊", System.Text.Encoding.Default)
   End Sub
这是简化的发送文本,参数中有Sck是原生的Socket客户端对象,所以这并不影响你直接使用这个对象并向其发送Bytes().

编写一个Socket客户端

Private WithEvents 客户端 As New DSAPI.网络相关.Socket传输.客户端

至此,你已经完成了Socket客户端的建立,是不是超简单?是的,现在使用客户端的事件和方法,当服务端向该客户端发送消息后,触发“收到消息”事件。

 Private Sub 客户端_收到消息(Bts() As Byte) Handles 客户端.收到消息
        Console.WriteLine(Bts)
        客户端.发送消息(System.Text.Encoding.Default.GetBytes("谢谢你,我已经收到消息"))
    End Sub

客户端有3个事件可用:

出错

收到消息

断开连接

好了,你已经学会了如何使用DSAPI里的Socket服务端和客户端来进行通信,关于DSAPI.网络相关部分,至此已经结束,若有其他补充内容,以后我会补上。



自动备注:本博所有文章均为博主本人编写,未经许可谢绝任何形式的转载。
博主使用VB.NET语言,如您使用C#语言,可下载VB.NET/C#代码转换工具
原文地址:https://www.cnblogs.com/dylike/p/10575986.html