IIS、Apache、Tomcat等Web服务器都是采用TCP通信模型的,介绍一种TCP编程API创建一个简易的Web服务器。public void main(String [] args){ ServerSocket ss=new ServerSocket(8080); Socket s=null; while((s=ss.accept())!=null){ new HttpThread(s).start(); } ss.close();}class HttpThread extends Thread{ private Socket soc... Read More
posted @ 2013-07-01 13:53
一种微笑
Views(298)
Comments(0)
Diggs(0)
多线程TCP程序服务器端:1.创建ServerSocket对象,指定监听的端口号。2.把accept()方法作为循环条件,循环监听客户端请求。3.创建线程类,定义一个socket类型的成员变量,并定义一个可以为他赋值的构造函数方法。4.在run()方法中使用socket变量进行任意的通信操作。5.在主线程的循环体内开启一个线程,并传入accept()方法的返回值。比如: 1 public void main(String [] args){ 2 ServerSocket ss=new ServerSocket(8888); 3 Socket s=null; 4 whil... Read More
posted @ 2013-07-01 13:40
一种微笑
Views(433)
Comments(0)
Diggs(0)
UDP协议的通信特点:1.UDP是一个简单的面向数据报的无连接协议,依然需要端口号区分应用程序。2.不提供对IP协议的可靠机制、流控制和错误恢复等功能,头部包含了很少的字节,比TCP负载消耗少,速度也相对快些。3.不需要维护连接状态,字节开销很小。4.服务于很多领域,如DNS域名系统、简单文件传输系统TFTP、动态主机配置协议DHCP等。UDP编程模型(点到点传输模式):发送端:1.创建数据socket,指定一个端口号。DatagramSocket ds=new DatagramSocket(9999);2.用byte数组创建数据包对象,同时提供接收端的IP地址和端口。DatagramPack Read More
posted @ 2013-07-01 11:45
一种微笑
Views(208)
Comments(0)
Diggs(0)
TCP协议通信特点:1.面向连接的传输;2.端到端的通信;3.可靠性,确保传输数据的正确性,不出现丢失或乱序;4.采用字节流方式,即以字节为单位传输字节序列。TCP编程模型(C/S模式):服务器端:1.创建一个服务器端的Socket,指定端口号。ServerSocket s=new ServerSocket(111);2.监听来自客户端的请求,若有则在111端口创建一个新的socket,和客户端的socket对接在流上。Socket socket=s.accept();3.获得输出流和输入流:字节流OutputStream os=socket.getOutputStream();InputSt Read More
posted @ 2013-07-01 11:44
一种微笑
Views(178)
Comments(0)
Diggs(0)
TCP/IP(Transmission Control Protocol /Internet Protocol)协议是一组包括TCP协议、IP协议、UDP协议、ICMP协议和其他一些协议的协议组。四层模型:1.数据链路层(网络接口层):接受IP数据报并进行传输,从网络上接收物理帧,抽取IP数据报转交给下一层,对实际的网络媒体的管理,定义如何使用物理网络,如以太网。2.网络层:负责提供基本的数据封包传送功能,让每一块数据包都能够到达目的主机,但不检查是否被正确接收,主要体现为IP协议。3.传输层:提供了节点间的数据传送,应用程序之间的通信服务,主要功能是数据格式化、数据确认和丢失重传等。主要是T Read More
posted @ 2013-07-01 11:43
一种微笑
Views(176)
Comments(0)
Diggs(0)
快排思想: 通过一轮排序将要排序的数据分割成独立的两个部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按照此方法对这两个部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。如果排序数组为A[0]...A[N-1],首先取第一个数据作为中间数据,然后将所有比他小的数放到他的前面,所有比他大的数放到它的后面,即一趟快速排序。算法如下:static void quicksort(int []a,int low,int high){ if(low>=high) //low小于或等于high直接返回 return; if((high-low)==1){ Read More
posted @ 2013-07-01 11:36
一种微笑
Views(198)
Comments(0)
Diggs(0)

浙公网安备 33010602011771号