socket
X-Prince
你否定我的如今 ,我决议我的将来 我就是我我为自己代言
展开
-
Socket心跳包机制
心跳包的发送,通常有两种技术 方法1:应用层自己实现的心跳包 由应用程序自己发送心跳包来检测连接是否正常,大致的方法是:服务器在一个 Timer事件中定时 向客户端发送一个短小精悍的数据包,然后启动一个低级别的线程,在该线程中不断检测客户端的回应, 如果在一定时间内没有收到客户端的回应,即认为客户端已经掉线;同样,如果客户端在一定时间内没 有收到服务器的心跳包,则认为连接不可用。 方法转载 2016-09-18 13:05:41 · 2240 阅读 · 0 评论 -
一个简单的Linux下的socket程序
和C语言教程一样,我们从一个简单的“Hello World!”程序切入 socket 编程。 本节演示了 Linux 下的代码,server.cpp 是服务器端代码,client.cpp 是客户端代码,要实现的功能是:客户端从服务器读取一个字符串并打印出来。 服务器端代码 server.cpp: #include #include #include #include #inc转载 2016-09-19 14:23:13 · 3207 阅读 · 0 评论 -
socket编程 - Asyncsocket
iPhone的标准推荐是CFNetwork 库编程,其封装好的开源库是 cocoa AsyncSocket库,用它来简化CFNetwork的调用,它提供了异步操作 主要特性有: 队列的非阻塞的读和写,而且可选超时。你可以调用它读取和写入,它会当完成后告知你自动的socket接收。如果你调用它接收连接,它将为每个连接启动新的实例,当然,也可以立即关闭这些连接委转载 2016-09-19 14:51:11 · 394 阅读 · 0 评论 -
记一次socket 接收消息产生的bug
今天项目产生了bug,解决后发现了bug产生的原因: 由于客户端会进行socket消息的处理,服务端负责消息的发送。所以如果客户端处理消息“慢”,或者服务端发送消息“快”,则会导致客户端接收消息的时候会将那些未处理的正在队列中排队的消息都接收过来连成一条消息,导致信息处理出错。 这个时候就要求我们接收的时候不仅要看消息包头,还要看消息中的消息长度信息。 下面这个消息就包括两个包原创 2017-03-30 14:30:43 · 1610 阅读 · 0 评论 -
ios 与运算小记
今天接收到项目加新功能,需要用到与运算,目的是判断 2进制的第二位是否为1还是0 以下是一个与运算的示例: 符号 二进制 十六进制 w1 0000 0000 0001 0101 0x15 w2 0000 0000 0000 1100 & 0x0c ———————————————————— w3原创 2017-04-17 13:58:26 · 380 阅读 · 0 评论 -
Objective-C 中Socket常用转换机制(NSData,NSString,int,Uint8,Uint16,Uint32,byte[])
最近项目中要用到socket通讯,由于涉及到组包问题,所以需要数据类型之间的来回转换,现在分享出来 如果想要请教Socket的问题请留言,我会随时回答的 1. int类型转16进制hexstring //int 转16进制 - (NSString *)hexFromInt:(NSInteger)val { return [NSString stringWithFormat:@"%X"原创 2016-09-23 14:04:56 · 12101 阅读 · 13 评论