• 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#代码转换工具
  • 相关阅读:
    js 小数取整的函数
    VS2015 Apache Cordova
    C# 标签(条码)
    异步提交form的时候利用jQuery validate实现表单验证
    调试javascript
    Chrome 控制台console的用法
    MvcPager分页控件以适用Bootstrap
    更好理解接口
    为什么上班一天都是坐着,但仍会疲惫不堪?(转)
    如何解决空虚感?(转)
  • 原文地址:https://www.cnblogs.com/dylike/p/10575986.html
Copyright © 2020-2023  润新知