naicaa 发表于 2024-4-10 20:08:34

火山TCP求助

利用火山写的 64位 dll

用的 HPTCP模块 , 请看图查看我写的代码流程。   

各个命令结果返回都没问题,但是 发送数据服务端收不到。

服务端用E写的,TCP通信应该和语言没关系的吧。不知道问题出在哪了。



用的模块是HP_SOCKET也就是火山自带的例程里的模块


https://www.picgo.net/image/QQ%E6%88%AA%E5%9B%BE20240409224248.Ss2DUj




_客户端.启动 (HPSocket类.取主机IP地址 ().取成员 (0), 9882, 假)

// 上面这行代码提示 连接成功服务端也能收到客户进入的消息   但是在 火山 HP_TCP客户端_连接完成不会提示连接成功



Bin = 文本到字节集 ("123456789")
Bool = _客户端.发送数据_指针 (Bin.取字节集指针 (), Bin.取字节集长度 (), )    // 发送数据返回 真但是并没有发送出去
Bool = _客户端.发送数据 (Bin, , )    // 这个也是一样   发送数据返回 真但是并没有发送出去

// _客户端.取未发出数据长度 ())      这条命令可取出 没发出去的数据长度   返回的是 我要发数据的长度。 足以证明没发出去



请问怎么解决呢


793359277 发表于 2024-4-10 21:51:11

用 HP_TCP客户端 这个类呀

793359277 发表于 2024-4-10 21:53:27

用这个类试下 我看你精易用的是HP_PACK客户端


naicaa 发表于 2024-4-10 21:59:55

793359277 发表于 2024-4-10 21:53
用这个类试下 我看你精易用的是HP_PACK客户端

我也用这个了。一样的

793359277 发表于 2024-4-10 22:23:27

naicaa 发表于 2024-4-10 21:59
我也用这个了。一样的

你代码是写在什么位置的? DLL入口? 入口的话限制比较多,尝试写在导出函数主动调用

uuyyhhjj 发表于 2024-4-11 02:41:26

这东西是多线程的,发送数据只是提交任务,并不是直接发送,除非内存不够,才会返回失败吧?
你的问题应该是TCP因为啥原因没连成功,没连上你发送自然没用,看看错误码这些排查一下,或者脱离DLL先看看是不是服务端的问题

hrq520 发表于 2024-4-12 23:38:37

你试下 火山自带的 类看看
页: [1]
查看完整版本: 火山TCP求助