分享一下跨平台小巧的socket工具类, 只有两个文件,拿来即用,无需任何配置

https://github.com/halx99/xxsocket

2赞

赞,顶一个。

收下了---------卍---------

一看楼主写的代码就知道是大神,哈哈:2::2::2:

呵呵,就是整理下代码而已,没啥技术含量,方便平时使用:14:

楼主,可以给个例子吗,你代码写得太牛逼了,看不懂啊 谢谢了

客户端:
xxsocket tcpcli;
tcpcli.open();
tcpcli.connect(“192.168.1.23”, 2015);
tcpcli.send(“hello server”, sizeof(“hello server”);

客户端:
xxsocket tcpserv;
tcpserv.open();
tcpserv.bind("192.168.1.23, 2015);
tcpserv.listen();
xxsocket cli = tcpserv.accept();
char buffer;
cli.recv(buffer, sizeof(“hello server”);

2.0更新
#增加ipv6支持, 用法和ipv4一样,地址换成ipv6地址即可
#增加本地ipv4,ipv6支持检测接口: xxsocket:getipsv()

ipv4,v6兼容api用法:

客户端:
xxsocket tcpcli;
tcpcli.pconnect(“192.168.1.23”/可以是域名/, 2015);
tcpcli.send(“hello server”, sizeof(“hello server”);

服务端:
xxsocket tcpserv;
tcpserv.pserv("192.168.1.23, 2015);
xxsocket cli = tcpserv.accept();
char buffer;
cli.recv(buffer, sizeof(“hello server”);

能否支持lua呀

lua不是已经有luasocket了吗?

室友luasocket。蛋还以为说你这个也绑定出lua呢,就是问问有没有考虑绑定出去

嗯,可以导出的。

我用你的示例在iOS中运行到tcpcli.send(“hello server”, sizeof(“hello server”);这句时会出错闪退,能看一下吗?如果能提供一个xcode工程就好

连接成了吗,判断connect返回值为0表示连接成功,可以发送数据
你改成tcpcli.send(“hello server”, sizeof(“hello server”) - 1); 试试

可以发送了,是因为我connect失败导致的,谢谢楼主~

不客气~~:grin:

更新,修复Windows UWP编译错误,增加vs2013测试工程。

更新,集成应用层二进制协议自动代码生成器

1赞

这个厉害,谢谢楼主。make下

增加客户端异步tcp长连接解决方案: async_tcp_client单例, 屏蔽拆包逻辑