淡墨寻思 发表于 2023-7-31 11:58:13

启动服务器失败!是哪里出问题了吗

<火山程序 类型 = "通常" 版本 = 1 />

类 我的主窗口 <基础类 = 窗口 注释 = "样例主窗口" 折叠2 @视窗.布局 = "client_size = \"645, 402\"" 标题 = "我的主窗口">
{
    变量 按钮_关闭服务 <类型 = 按钮 折叠2 隐藏值属性 = "0" @视窗.布局 = "id = 101\r\npos = \"21, 62, 80, 40\"" 标题 = "关闭服务器">
    变量 按钮_启动服务 <类型 = 按钮 折叠2 隐藏值属性 = "0" @视窗.布局 = "id = 102\r\npos = \"21, 14, 80, 40\"" 标题 = "启动服务器">
    变量 编辑框_日志 <类型 = 编辑框 折叠2 隐藏值属性 = "0" @视窗.布局 = "id = 103\r\npos = \"109, 14, 528, 88\"" 是否允许多行 = 真
            滚动条 = 纵向滚动条 对齐方式 = 左边 禁止 = 真>
    变量 HPTCP <类型 = HPSocket_TcPull服务>
    变量 全_服务句柄 <类型 = 变整数>

    方法 我的主窗口_创建完毕 <接收事件 类型 = 整数 注释 = "当本组件及其中所有子组件均被创建完毕后发送此事件.">
    参数 来源对象 <类型 = 我的主窗口 注释 = "提供事件产生的具体来源对象">
    参数 标记值 <类型 = 整数 注释 = "用户调用\"挂接事件\"命令时所提供的\"标记值\"参数值,非此方式挂接事件则本参数值固定为0.">
    {
      按钮_关闭服务.禁止 = 真
      HPTCP.创建监听器 ()
      全_服务句柄 = HPTCP.创建服务 ()
      HPTCP.绑定监听事件 ()

      返回 (0)
    }

    方法 按钮_被单击 <接收事件 类型 = 整数 注释 = "当按钮被单击后发送此事件">
    参数 来源对象 <类型 = 按钮 注释 = "提供事件产生的具体来源对象" 折叠>
    参数 标记值 <类型 = 整数 注释 = "用户调用\"挂接事件\"命令时所提供的\"标记值\"参数值,非此方式挂接事件则本参数值固定为0.">
    {
      如果 (来源对象 == 按钮_启动服务)
      {
            如果 (HPTCP.启动服务 (全_服务句柄, "0.0.0.0,9550", ) == 真)
            {
                编辑框_日志.加入文本行 ("服务器启动成功!")
                按钮_启动服务.禁止 = 真
                按钮_关闭服务.禁止 = 假
            }
            否则
            {
                编辑框_日志.加入文本行 ("服务器启动失败!")

            }
      }
      否则 (来源对象 == 按钮_关闭服务)
      {
            如果 (HPTCP.关闭服务 (全_服务句柄) == 真)
            {
                编辑框_日志.加入文本行 ("服务器关闭成功!")
                按钮_关闭服务.禁止 = 真
                按钮_启动服务.禁止 = 假
            }
            否则
            {
                编辑框_日志.加入文本行 ("服务器关闭失败!")

            }
      }
      返回 (0)
    }

    方法 HPSocket_TcPull服务_客户进入事件函数 <接收事件 类型 = 整数>
    参数 来源对象 <类型 = HPSocket_TcPull服务 注释 = "提供事件产生的具体来源对象" 折叠>
    参数 标记值 <类型 = 整数 注释 = "用户调用\"挂接事件\"命令时所提供的\"标记值\"参数值,非此方式挂接事件则本参数值固定为0.">
    参数 服务句柄 <类型 = 变整数>
    参数 连接ID <类型 = 变整数>
    参数 客户套接字 <类型 = 变整数>
    {
      如果 (来源对象 == HPTCP)
      {
            编辑框_日志.加入文本行 ("用户已连接,ID是;" + 到文本 (连接ID))


      }
      返回 (0)
    }

    方法 HPSocket_TcPull服务_连接断开事件函数 <接收事件 类型 = 整数>
    参数 来源对象 <类型 = HPSocket_TcPull服务 注释 = "提供事件产生的具体来源对象" 折叠>
    参数 标记值 <类型 = 整数 注释 = "用户调用\"挂接事件\"命令时所提供的\"标记值\"参数值,非此方式挂接事件则本参数值固定为0.">
    参数 服务句柄 <类型 = 变整数>
    参数 连接ID <类型 = 变整数>
    参数 操作码 <类型 = 整数>
    参数 错误代码 <类型 = 整数>
    {
      如果 (来源对象 == HPTCP)
      {
            编辑框_日志.加入文本行 ("用户已断开,ID是;" + 到文本 (连接ID))

      }
      返回 (0)
    }

    方法 HPSocket_TcPull服务_收到数据事件函数 <接收事件 类型 = 整数>
    参数 来源对象 <类型 = HPSocket_TcPull服务 注释 = "提供事件产生的具体来源对象">
    参数 标记值 <类型 = 整数 注释 = "用户调用\"挂接事件\"命令时所提供的\"标记值\"参数值,非此方式挂接事件则本参数值固定为0.">
    参数 服务句柄 <类型 = 变整数>
    参数 连接ID <类型 = 变整数>
    参数 数据指针 <类型 = 变整数>
    参数 数据大小 <类型 = 整数>
    {
      变量 字节集 <类型 = 字节集类>
      字节集 = HPTCP.抓取数据 (服务句柄, 连接ID, 数据大小)
      编辑框_日志.加入文本行 ("用户数据;" + UTF8到文本 (字节集))
      如果 (来源对象 == HPTCP)
      {
            HPTCP.发送字节集 (全_服务句柄, 连接ID, 文本到UTF8 ("1", ))
      }
      返回 (0)
    }
}


创世魂 发表于 2023-7-31 21:45:08

端口被占用
页: [1]
查看完整版本: 启动服务器失败!是哪里出问题了吗