这是因为接受和发送都在主线程中,不能同时进行。 为了实现同时收发消息,基本设计思路是把收发分别放在不同的线程中进行1. SendThread 发送消息线程2. RecieveThread 接受消息线程3. Server一旦接受到连接,就启动收发两个线程4. Client 一旦建立了连接,就启动收发两 ...
分类:
其他好文 时间:
2018-12-29 13:41:16
阅读次数:
203
每个HTTP请求和响应都遵循相同的格式。 一个HTTP包含Header和Body两部分,其中Body是可选的。 HTTP响应的Header中有一个Content-Type表明响应的内容格式。 它的值如text/html;charset = utf-8。text/html则表示是网页,charset ...
分类:
Web程序 时间:
2018-11-15 21:10:42
阅读次数:
212
1.TCP的模板代码 收发消息的循环 通讯循环 不断的连接客户端循环 连接循环 判断 用于判断客户端异常退出(抛异常)或close(死循环)2.远程CMD 粘包问题 一方发送空数据 导致程序卡死 今后会通过多线程处理3.解决粘包的方案 自定义报头 1.先用报头传输数据的长度 对于我们远程CMD程序来 ...
分类:
其他好文 时间:
2018-11-05 20:51:53
阅读次数:
116
直接使用ActiveMQ的方式需要重复写很多代码,且不利于管理,Spring提供了一种更加简便的方式————SpringJMS,通过它可以更加方便地使用ActiveMQ。Maven依赖结合Spring使用ActiveMQ的依赖如下:<!--SpringJMS--><dependency><groupId>org.springframework</group
分类:
编程语言 时间:
2018-11-02 20:17:05
阅读次数:
156
下面简单介绍其步骤。 《发消息 方》 1.import进EventEmitter 2.在Component里定义事件接口 3.在类里定义事件 《收消息 方》 4.在模板里定义事件接收 5.处理消息 很简单吧! ...
分类:
其他好文 时间:
2018-10-14 16:24:09
阅读次数:
478
服务端与浏览器收发信息: socket 套接字 是应用层和传输层之间一个虚拟层,是一个接口. 打印一下收到的消息是什么>??? 那浏览器收到的消息是什么? 通过以上对比,发现收发消息的格式都是一样的 即为 HTTP协议格式 每个HTTP请求和响应都遵循相同的格式,一个HTTP包含Header和Bod ...
分类:
编程语言 时间:
2018-09-05 23:56:21
阅读次数:
203
具备注册,群聊,查看在线人员信息,私发文件和接收文件功能,因为每个客户端只有一个属于自己的socket,所以无论客户端是发聊天消息还是文件都是通过这一个socket发送, 这也意味着服务器收发任何消息或文件都只能有一个select函数也意味着只能有一个收发消息的线程。 所以我定义了一个通用结构体: ... ...
分类:
编程语言 时间:
2018-08-04 15:47:16
阅读次数:
286
上一遍博客中,我们分析了网络链接建立的过程,一旦建立就可以正常的收发消息了。发送消息的细节不再分析,因为对于本地的actor来说这个过程相对简单,它只是创立链接然后给指定的netty网路服务发送消息就好了。接收消息就比较麻烦了,因为这对于actor来说是透明的,netty收到消息后如何把消息分发给指 ...
分类:
其他好文 时间:
2018-07-30 17:57:33
阅读次数:
141
内容简介:基于flask框架实现web微信的登录以及收发消息。 实现思路: 1.获取验证码,并检测是否在手机端扫码并确认登录(长轮询) 2.用户数据初始化获取的授权信息,并根据获取的授权信息获取联系人信息 3.发送消息,根据接受者的ID,并携带登陆授权的认证发送POST请求 4.接受消息,用长轮询的 ...
分类:
编程语言 时间:
2018-07-13 13:21:40
阅读次数:
201
我们了解了socket之后已经知道,普通套接字实现的服务端的缺陷:一次只能服务一个客户端! 并且,为了使一个客户端能够不断收发消息,我们还要使用while循环来轮询,这极大地降低了我们的效率 accept阻塞! 在没有新的套接字来之前,不能处理已经建立连接的套接字的请求 recv 阻塞! 在没有接受 ...
分类:
其他好文 时间:
2018-07-12 21:44:58
阅读次数:
191