socket
文章平均质量分 79
摩羯ez
这个作者很懒,什么都没留下…
展开
-
32位与64位系统之间网络数据(socket)传输总结
环境限定:TCP/IP下的socket网络传输;C/C++开发语言,32/64位机。目前有两种方式对数据进行传输:1)字符流形式,即将数据用字符串表示;2)结构型方式,即将数据按类型直接传输。1)的方式保证所有的数据都是清晰的字符串明文,没有平台不一致问题,但传输的数据不定长,复合数据类型(如struct)的解析不方便。2)的方式保证数据长度固定/可控,方便对接受到数据的解析;转载 2015-04-02 16:06:11 · 5422 阅读 · 0 评论 -
windows和Linux之间socket传输结构体关于字节对齐产生的问题
这个是我在做转码机的时候发现的问题。这个转码机大致的思路是:将转码机上面的数据用结构体打包通过socket发送给Linux客户端。Linux客户端也是用结构体去接收。发送的过程中出现了这样一个问题,就是发送的结构体数据中有不同字节的数据时,发生错误。问题原因:是因为windows和Linux平台上面结构体字节对齐的个数不同产生错误。解决方法:设置windows和Linux上面的原创 2015-04-03 12:27:18 · 2140 阅读 · 0 评论 -
linux非阻塞式socket编程之select()用法
Select在Socket编程中还是比较重要的,可是对于初学Socket的人来说都不太爱用Select写程序,他们只是习惯写诸如 connect、accept、recv或recvfrom这样的阻塞程序(所谓阻塞方式block,顾名思义,就是进程或是线程执行到这些函数时必须等待某个事件的发生,如果事件没有发生,进程或线程就被阻塞,函数不能立即返回)。可是使用Select就可以完成非阻塞(所谓非阻塞方转载 2015-04-09 16:58:42 · 1391 阅读 · 0 评论 -
c++ 封装ipv6类
一. socket编程函数1.1 基本函数 socket、bind、listen、connect、read/send、write/recv、close函数。1.2 信息获取函数 1)支持ipv6和ipv4 gethostbyname getpeername getsockname getaddrinfo 2原创 2016-07-01 18:30:46 · 2857 阅读 · 0 评论 -
tcp长连接和保活时间
TCP协议中有长连接和短连接之分。短连接在数据包发送完成后就会自己断开,长连接在发包完毕后,会在一定的时间内保持连接,即我们通常所说的Keepalive(存活定时器)功能。默认的Keepalive超时需要7,200,000 milliseconds,即2小时,探测次数为5次。它的功效和用户自己实现的心跳机制是一样的。开启Keepalive功能需要消耗额外的宽带和流量,尽管这微不足道,但在按流量转载 2016-09-28 15:17:56 · 17267 阅读 · 0 评论 -
socket网络编程基础
一.socket编程函数1.socket函数原型:int socket(int domain, int type, int protocol);作用: 创建一个端点并返回一个socket描述符。参数解析:domain: 指定一个会话域名,选择一个协议族用于这个会话。包含于中。目前默认格式包括 AF_UNIX,AF_LOCAL AF_INET AF_INET原创 2017-03-07 17:41:56 · 316 阅读 · 1 评论