JAVA网络编程
wkend
菜鸟小白,希望在这里结交朋友,增长知识技能。
展开
-
LinkedBlockingQueue应用详解
一. 概述及应用场景 Jdk源码注释:(JDK1.9)/** 1. An optionally-bounded {@linkplain BlockingQueue blocking queue} based on 2. linked nodes. 3. This queue orders elements FIFO (first-in-first-out). 4. The <em>h原创 2018-01-01 20:09:22 · 6095 阅读 · 0 评论 -
java基于UDP的socket通信
服务器package UDP;import java.io.IOException;import java.net.DatagramPacket;import java.net.DatagramSocket;import java.net.SocketException;public class EchoServerByUDP { private int port...原创 2018-04-02 22:39:14 · 689 阅读 · 0 评论 -
安全网络通信(二)----创建基于TLS的安全服务器和安全客户端
JSSE简介JSSE封装了底层复杂的安全通信细节,使得开发人员能方便的利用它来开发安全的网络应用程序。JSSE只要包括四个包:javax.net.ssl包括进行安全通信的类,比如SSLServerSocket和SSLSocket类。javax.net包括安全套接字的工厂类,比如SSLServerSocketFactory和SSLSocketFactory类。 ...原创 2018-04-08 23:53:05 · 542 阅读 · 0 评论 -
安全网络通信(一)---利用keytool工具生成自签名证书
加密通信基本原理 数据从一段发送到另一端时,发送者首先对数据进行加密,然后再把它发送给接受者。这样,在网络上进行传输的就是经过加密的数据。 由于有人在网络上截获到了这段数据,由于ta没有秘钥,所以ta无法获知数据内容。 接受者接受到加密是数据后,先对数据进行解密,然后再进行处理。SSL,TSL采用加密技术来实现安全通信,保证通信数据的机密性和完整性,并且保证通信双方可以验证对...原创 2018-04-08 22:57:14 · 2108 阅读 · 0 评论 -
关闭Socket
当客户与服务器的通信结束,应该及时关闭Socket,已释放Socket占用的包括端口在内的各种资源。Socket的close()方法负责关闭Socket。当一个socket对象被关闭,就不能能在通过它的输入流和输出流进行I/O操作,否则会导致IOException。 为了确保关闭Socket的操作总是被执行,强烈建议把这个操作放在finally代码块中。Socket类提供了3个状态代码块的测试方法原创 2018-01-03 21:23:00 · 3873 阅读 · 0 评论 -
获取Socket的信息
在一个Socket中同时包含了远程服务器的IP地址和端口信息,以及客户本地的IP地址和端口信息。此外,从Socket对象中还可以获得输出流和输入流,分别用于向服务器发送数据,以及接受从服务端发来的数据。以下方法用于获取Socket的有关信息。Socket socket=new Socket(); socket.getInetAddress();//获得远程服务器的IP地址原创 2018-01-02 20:32:16 · 6021 阅读 · 0 评论 -
设置Socket的选项
Socket有以下几个选项。TCP_NODELY:表示立即发送数据SO_RESUSEADDR:表示是否允许重用Socket所绑定的本地地址SO_TIMEOUT:表示接收数据时的等待超时时间SO_LINGER:表示当执行Socket的close()方法时,是否立即关闭底层的SocketSO_SNFBUF:表示发送数据的缓冲区大小SO_RCVBUF:表示接受数据的缓冲区大小SO_KE原创 2018-01-03 23:34:40 · 4719 阅读 · 1 评论 -
HTTP协议简介
HTTP协议(Hypertext Transfer Protocol,超文本传输协议)是网络应用层协议,建立在tcp/ip协议基础上。HTTP协议使用可靠的tcp连接,默认端口是80,现在都使用更安全的HTTPS协议,默认端口是443。HTTP协议基于客户/服务器模式,客户端主动发出HTTP请求,服务器接受HTTP请求,返回HTTP响应结果。HTTP协议对HTTP请求,以及响应格式做了明确的规定。原创 2018-01-02 22:02:57 · 401 阅读 · 0 评论 -
客户连接服务器时可能抛出的异常
本次博客为我在学习java编程时的总结,参考《Java网络编程 孙卫琴》一书当Socket的构造方法请求连接服务器时,可能会抛出下面的异常。 ●UnknownHostException:如果主机无法识别主机的名字或IP地址,就会抛出这种异常。 ●ConnectException:如果没有服务器进程监听指定的端口,或者服务器进程拒绝连接,就会抛出这种异常。 ●SocketTimeoutExcep原创 2018-01-02 01:19:37 · 3444 阅读 · 0 评论 -
Socket的连接
本次博客为我在学习java编程时的总结,参考《Java网络编程 孙卫琴》一书在客户/服务器通信模式中,客户端需要主动创建与服务器连接的Socket,服务器收到了客户端的连接请求,也会创建与客户连接的Socket。以下例子的PortScanner类能够扫描主机上从1到1024之间的端口,判断这些端口是否已经被服务器程序监听。package 端口扫描;import java.io.IOExcepti原创 2018-01-02 00:24:14 · 320 阅读 · 0 评论 -
java实现最简单的客户服务器通信例子
客户/服务器通信模式TCP/UDP协议推动了客户/服务器通信模式的广泛运用。在通信个进程中,一个进程为客户进程,另一个为服务器进程。客户进程向服务器进程发出要求某种服务的请求,服务器进程响应该请求。如下图所示,通常,一个服务器进程会同时与多个客户端进程服务,图中进程B1同时为客户进程A1、A2和B2提供服务。以下伪代码演示了服务器进程的大致工作流程:while(true){ ...原创 2018-01-01 22:58:21 · 2821 阅读 · 0 评论 -
java通过socket传输文件
客户端代码package 基于socket的文件传输;import java.io.DataInputStream;import java.io.DataOutputStream;import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import ja...原创 2018-04-05 21:24:07 · 7138 阅读 · 2 评论