随笔分类 - java网络编程
摘要:数据库连接池: 原因:频繁的创建数据库连接是十分耗费资源的,一旦某一时刻用户的请求太多,可能会造成系统缓慢甚至瘫痪。 原理:程序员需要连接数据库时,只需要从池子里取出一个即可,没有真正进行数据库的创建,当调用con.close方法时连接就会回到池子里,而没有和真正的数据库断开连接。当连接不够用时会创建新的连接,连接太多后会自动关闭一些不必要的连接。使用连接池和传统的JDBC的差异主要是获取连接方式的不同。传统的JDBC是通过驱动管理器(DriverManager)来获取连接,而连接池则是需要用数据源(DataSource)来获取,数据源由JNDI的形式提供,如://创建JNDI初始化上下文对象
阅读全文
摘要: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...
阅读全文
摘要:多线程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...
阅读全文
摘要:UDP协议的通信特点:1.UDP是一个简单的面向数据报的无连接协议,依然需要端口号区分应用程序。2.不提供对IP协议的可靠机制、流控制和错误恢复等功能,头部包含了很少的字节,比TCP负载消耗少,速度也相对快些。3.不需要维护连接状态,字节开销很小。4.服务于很多领域,如DNS域名系统、简单文件传输系统TFTP、动态主机配置协议DHCP等。UDP编程模型(点到点传输模式):发送端:1.创建数据socket,指定一个端口号。DatagramSocket ds=new DatagramSocket(9999);2.用byte数组创建数据包对象,同时提供接收端的IP地址和端口。DatagramPack
阅读全文
摘要: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
阅读全文
摘要:TCP/IP(Transmission Control Protocol /Internet Protocol)协议是一组包括TCP协议、IP协议、UDP协议、ICMP协议和其他一些协议的协议组。四层模型:1.数据链路层(网络接口层):接受IP数据报并进行传输,从网络上接收物理帧,抽取IP数据报转交给下一层,对实际的网络媒体的管理,定义如何使用物理网络,如以太网。2.网络层:负责提供基本的数据封包传送功能,让每一块数据包都能够到达目的主机,但不检查是否被正确接收,主要体现为IP协议。3.传输层:提供了节点间的数据传送,应用程序之间的通信服务,主要功能是数据格式化、数据确认和丢失重传等。主要是T
阅读全文

浙公网安备 33010602011771号