对这个字节流很陌生,因为使用它的机会不多,但如果你要求和下位机通信,那么这就是抛不开的问题 字节流的作用是什么 我的理解是组包,组成一个2进制的包!没这个东西,下位机不会认识你的命令的, 这里推荐两篇文档 http://www.neatstudio.com/show-2327-1.shtml htt ...
分类:
其他好文 时间:
2016-11-26 17:29:58
阅读次数:
169
SOCKET原理 一、套接字(socket)概念 套接字(socket)是通信的基石,是支持TCP/IP协议的网络通信的基本操作单元。它是网络通信过程中端点的抽象表示,包含进行网络通信必须的五种信息:连接使用的协议,本地主机的IP地址,本地进程的协议端口,远地主机的IP地址,远地进程的协议端口。 应 ...
这两天做一个socket通信的Demo,用定时器启动client端去连接server端,出现一个状况,连接几次后定时器就停了。 下面就是会造成终止的代码: 经度娘,原因是timer被GC销毁。 方法中的变量如果是值类型,在方法执行完会被自动释放,因为是在栈上分配的空间。 但是方法中声明的引用类型,是 ...
异步IO 下面摘子李刚的《疯狂JAVA讲义》 按照POSIX标准来划分IO,分为同步IO和异步IO。对于IO操作分为两步,1)程序发出IO请求。 2)完成实际的IO操作。 阻塞IO和非阻塞IO都是针对第一步来划分的,如果发出IO请求会阻塞线程,就是阻塞IO,否则就是非阻塞IO。 同步IO和非同步IO ...
分类:
编程语言 时间:
2016-11-21 23:25:35
阅读次数:
255
阻塞IO与非阻塞IO 通常情况下的Socket都是阻塞式的, 程序的输入输出都会让当前线程进入阻塞状态, 因此服务器需要为每一个客户端都创建一个线程。 从JAVA1.4开始引入了NIO API, NIO可以实现非阻塞IO, 这样就可以使用一个线程处理所有的客户请求。 基于NIO的非阻塞Socket通 ...
分类:
编程语言 时间:
2016-11-21 22:51:44
阅读次数:
214
OSI模型分层 OSI模型是指国际标准化组织(ISO)提出的开放系统互连参考模型(Open System Interconnection Reference Model,OSI/RM),它将网络分为七层:物理层,数据链路层,网络层,传输层,会话层,表示层,应用层 TCP/IP协议 TCP/IP是一系 ...
分类:
编程语言 时间:
2016-11-20 07:06:42
阅读次数:
202
I/O多路复用是在单线程模式下实现多线程的效果,实现一个多I/O并发的效果。看一个简单socket例子: 客户端: 以上为一个简单的客户端发送一个输入信息给服务端的socket通信的实例,在以上的例子中,服务端是一个单线程、阻塞模式的。如何实现多客户端连接呢,我们可以使用多线程模式,这个当然没有问题 ...
分类:
编程语言 时间:
2016-11-18 06:35:05
阅读次数:
343
这几天看源码弄清了一件事:WEB服务器接收浏览器请求、将请求传给PHP/Python进程(FCGI等)、与数据库进行交互都是用socket(套接字)。也就是说,这些行为都是进程间通信。一台WEB服务器在硬件、操作系统不变的情况下,它的性能主要取决于socket通信的速度。如果所有进程都在..
分类:
数据库 时间:
2016-11-15 01:55:39
阅读次数:
534
深入浅出讲解:php的socket通信 对TCP/IP、UDP、Socket编程这些词你不会很陌生吧?随着网络技术的发展,这些词充斥着我们的耳朵。那么我想问:1. 什么是TCP/IP、UDP?2. Socket在哪里呢?3. Socket是什么呢?4. 你会使用它们吗?什么是TCP/IP、UDP? ...
分类:
Web程序 时间:
2016-11-15 00:13:39
阅读次数:
275
参考资料: 《Java网络编程精解》 孙卫琴 一、socket通信简介 什么是socket,简单来说,在linux系统上,进程与进程之间的通信称为IPC,在同一台计算机中,进程与进程之间通信可以通过信号、共享内存的方式等等。 不同计算机上的进程要进行通信的话就需要进行网络通信,而 socket通信就 ...
分类:
编程语言 时间:
2016-11-06 17:16:02
阅读次数:
211