网络编程
丰王十
今天走的路,是你昨天埋下的土。
展开
-
java网络socket编程(一)之基础简介
1.在internate网络中,数据按照有限大小的数据包进行传输,这些包被称为数据报(datagram)。2.每个数据报主要包含部分:一个首部header和一个有效负载payload. a.首部:主要包含目的地地址和端口、来源地址和端口、检查数据是否被破坏的校验和、以及其他保证可靠传输的其他管理信息。 b.有效负载:包含数据本身。由于每个数据报的大小是有限的,通常一个完原创 2016-07-13 10:12:08 · 798 阅读 · 0 评论 -
今天,让我们彻底搞定maven!
今天,让我们彻底搞定maven!前言在如今的互联网项目开发当中,特别是Java领域,可以说Maven随处可见。Maven的仓库管理、依赖管理、继承和聚合等特性为项目的构建提供了一整套完善的解决方案,可以说如果你搞不懂Maven,那么一个多模块的项目足以让你头疼,依赖冲突就会让你不知所措,甚至搞不清楚项目是如何运行起来的.....OK,博主就曾经被Maven“伤害”过,那么该专题的目的...原创 2019-05-31 09:40:04 · 264 阅读 · 0 评论 -
Netty5用户手册之四:使用netty实现Timer客户端和服务端程序
服务端 这个协议使用来实现time协议。它与前一个例子不同的是它会发送一个包含32字节大小的int消息,不接受任何请求并且一旦发送消息马上关闭连接。这个例子中,将会学会怎么去构建并发送一个消息,并且完成发送后关闭连接。 由于我们将会忽略接收到的数据而是去发送一个消息当连接创建的时候,我们不能用channelRead方法了。替代它的我们需要覆盖channelActive方原创 2016-10-19 17:34:09 · 2739 阅读 · 0 评论 -
Netty5用户手册之三:使用netty实现EchoServer程序
编写EchoServer服务端程序 上一章节中,我们已经已经处理了数据并且没有给出任何响应。但是作为一个服务端,通常需要给请求一个响应结果。下面的echo协议例子中无论接收了什么消息均为客户响应了一个消息回去。 与discard仅仅不同的是echo实现了替代discard中的释放代码为接收数据并且打印出接收到的消息到控制台。因此仅仅修改channelRead方法即原创 2016-10-19 16:43:02 · 1635 阅读 · 0 评论 -
Netty5用户手册之二:使用netty实现Discard服务器程序
编写一个discard服务器程序 世界上最简单的协议不是‘hello world’而是discard。他是一个丢弃任何接收到的数据并且无任何响应的协议。 为了实现dicard协议,我们只需要做一件事就是忽略所有接收到的数据。让我们从handler处理器的实现开始,handler在netty中是一个用来处理io事件的的处理器。import io.netty原创 2016-10-19 11:56:40 · 1456 阅读 · 0 评论 -
Netty5用户手册之一:netty的作用
引入问题 目前,我们使用第三方应用程序后者类库来实现不同系统之间的通信,例如,我们经常使用一个http客户端类库通过webservice的方式来远程调用一个web服务器上的逻辑来实现检索信息。 然而,一个通用的目的协议或者他的实现不能很好的扩展而导致覆盖不全面。比如,我们不能用一个通用的http服务器去实现交换一个很大的文件、email消息或者实时的消息如金融消原创 2016-10-19 11:18:49 · 1540 阅读 · 0 评论 -
Netty5用户手册之五:netty中流数据的传输处理问题
在如tcp/ip的以流为基础传输数据中,数据被接收后,被保存在一个socket接收缓冲区中。不幸的是,这个以流为基础的缓冲区buffer不是一个包packet的队列,而是一个字节byte队列。这意味着,即使你发送两个消息message作为2个独立的包,操作以系统不会把他们作为两个消息message,而是仅仅当做一堆字节原创 2016-10-19 18:19:35 · 6397 阅读 · 0 评论 -
Netty5用户手册之六:netty核心之ChannelHandler用法详解
概述 主要介绍四个主要的核心类:ChannelPipeline、ChannelHandlerContext、ChannelHandler、Inbound VS Outbound(入站和出站)等。netty提供了强大的类来处理输入和输出的数据,通过ChannelHandler可以快速编写出可重用的、高性能的代码程序。下面一一介绍这些核心类的用法:ChannelPipeline类的用原创 2016-10-24 10:07:11 · 11517 阅读 · 1 评论 -
java网络socket编程(八)之java中BIO实现聊天系统的群聊功能
代码分为了三部分:客户端代码、服务器端代码、通用类代码客户端代码import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.net.Socket;import java.net.UnknownHostException;/** * 创原创 2016-08-23 09:59:53 · 2110 阅读 · 1 评论 -
java网络socket编程(七)之java中NIO实现聊天系统的群聊功能
1.服务器端代码import java.io.IOException;import java.net.InetSocketAddress;import java.net.ServerSocket;import java.nio.ByteBuffer;import java.nio.channels.Channel;import java.nio.channels.Selectio原创 2016-08-22 18:14:51 · 3510 阅读 · 1 评论 -
java网络socket编程(六)之HTTP请求/响应报文
介绍http报文包含请求报文和响应报文2种报文,他们都包含起始行、首部字段、主体三部分。其中,请求报文为客户端向服务器端请求资源时发送的http报文位请求包含,而响应报文为从服务器端发往客户端的报文。由于他们的报文很类似,下面简单的介绍报文的三部分:1.起始行报文的第一行就是起始行,在请求报文中用来说明要做些什么,而在响应报文中说明出现了什么情况。2.首部字段起始行后面有0个或原创 2016-07-25 18:10:26 · 4282 阅读 · 0 评论 -
java网络socket编程(五)之Socket扩展2--实现重定向服务器
重定向服务器,能将用户从一个web网站重定向到另一个网站,使用302 Found编码将接受的所有请求重定向到新url表示的网站上。package com.hq.socket;import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.IOException;import java.io.Inpu原创 2016-07-15 11:23:44 · 1694 阅读 · 1 评论 -
java网络socket编程(四)之Socket扩展1--实现单文件服务器
稍后再播=_=原创 2016-07-15 09:00:54 · 538 阅读 · 0 评论 -
java网络socket编程(三)之ServerSocket服务器端
一、简介java提供了一个ServerSocket类表示服务器Socket。服务器Socket在服务器上运行,监听入站ftp连接。每个服务器Socket监听服务器上的一个特定端口。当远程注解上的一个客户端尝试这个端口时,服务器就会被唤醒,协商建立客户端与服务器端的连接,并返回一个常规的Socket对象,表示2台主机之间的Socket。也是就说服务器端Socket接受到客户端Socket发送过来原创 2016-07-13 18:43:14 · 16024 阅读 · 1 评论 -
java网络socket编程(二)之Socket客户端
一、socket实现读写当我们想要在Java中使用TCP/IP通过网络连接到服务器时,就需要创建java.net.Socket对象并连接到服务器。假如希望使用Java NIO,也可以创建Java NIO中的SocketChannel对象。使用输出流在socket上发送数据,同时还可以使用输入流读取数据,不过打多数都为在客户端只能读取或只写入数据,而不是二者同时进行。最常见的模式是,客户端发送一原创 2016-07-13 13:49:42 · 762 阅读 · 0 评论 -
Springboot启动原理解析
我们开发任何一个Spring Boot项目,都会用到如下的启动类@SpringBootApplicationpublicclassApplication{publicstaticvoidmain(String[]args){SpringApplication.run(Application.class,args);}}从...原创 2019-05-31 10:40:46 · 323 阅读 · 0 评论