java网络编程
起一个好听的名字
学无止境,学海无涯,乐在其中
展开
-
Java 中System里getProperty 方法获得系统参数
偶尔在酷壳看文章,看到有大神写代码里面有一行 System.getProperty(“os.name”) ,当时就打开自己的Eclipse试了一下,发现竟然出现结果是Windows 7,真是我的系统名,于是上网找了一下,在Java 官方API中找到支持的可以获得的操作系统的参数的 key 列表,具体如下:KeyDescription of Associated Valu转载 2016-01-28 10:01:16 · 706 阅读 · 0 评论 -
Java Socket编程 标准范例(多线程)
服务器端(Server)非多线程[java] view plain copy package com.zeph.serverclient; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.转载 2016-06-24 10:37:05 · 276 阅读 · 0 评论 -
java--Socket实例篇
Java Socket编程 对于Java Socket编程而言,有两个概念,一个是ServerSocket,一个是Socket。服务端和客户端之间通过Socket建立连接,之后它们就可以进行通信了。首先ServerSocket将在服务端监听某个端口,当发现客户端有Socket来试图连接它时,它会accept该Socket的连接请求,同时在服务端建立一个对应的Socket与之进行通信转载 2016-06-24 13:22:25 · 375 阅读 · 0 评论 -
基于TCP协议的文件传输,传输带文件名等信息的文件流
在做tcp传输文件实验时,我一直很纠结一个问题,就是Socket客户端发送一个文件SocketServer服务端时,SocketServer只能从socket.getInputStream()中得到一个文件流,怎么才能知道这个文件流具体是什么东西,什么文件,大小多少K等信息呢?思来想去今天有了答案,就是在客户端发送文件时,把文件信息和文件合并后在写入socket输出流。看上面图,因为Seq转载 2016-07-01 16:37:45 · 1290 阅读 · 0 评论 -
循序渐进Java Socket网络编程(多客户端、信息共享、文件传输)
前言:在最近一个即将结束的项目中使用到了Socket编程,用于调用另一系统进行处理并返回数据。故把Socket的基础知识总结梳理一遍。 一、TCP/IP协议 既然是网络编程,涉及几个系统之间的交互,那么首先要考虑的是如何准确的定位到网络上的一台或几台主机,另一个是如何进行可靠高效的数据传输。这里就要使用到TCP/IP协议。 TCP/IP协议(传输控制协议)由网络层的IP协转载 2016-07-01 16:42:01 · 1313 阅读 · 1 评论 -
java网络编程四:InetAddress类、URL类、URLConnection类解析及用法示例
1、InetAddress类实现简单IP扫描获得主机名[java] view plain copy "font-size:16px;">package demo.net; import java.net.InetAddress; import java.net.UnknownHostException; /* * 获取指定IP的主机名 */ pu转载 2016-03-04 10:30:02 · 477 阅读 · 0 评论 -
JAVA实现HTTP服务器端
用Java socket实现了一个简单的http服务器, 可以处理GET, POST,以及带一个附件的multipart类型的POST。虽然中途遇到了很多问题, 不过通过在论坛和几个高手交流了一下,问题都解决了。如果你觉得程序有些地方看不明白,可以参看这个帖子:http://topic.csdn.net/u/20090625/22/59a5bfc8-a6b6-445d-9829-ea6d462a4转载 2016-07-26 15:38:54 · 749 阅读 · 0 评论 -
Java SSLSocket的使用
1. 什么是SSLSocketJDK文档指出,SSLSocket扩展Socket并提供使用SSL或TLS协议的安全套接字。这种套接字是正常的流套接字,但是它们在基础网络传输协议(如TCP)上添加了安全保护层。具体安全方面的讨论见下一篇。本篇重点关注SSLSocket及相关几个类的使用。 2. SSLSocket和相关类SSLSocket来自jsse(转载 2016-08-02 11:24:48 · 586 阅读 · 0 评论 -
java SSL安全socket的通讯实例
1.使用keytool创建密钥对..并在服务端和客户端完成分配..具体方法可参看:java-使用keytool来创建管理密钥及证书等-java学习笔记(3) 2.建立客户端和服务端的socket实例: 客户端代码如下: public class SSLClient { public static void startSSLClient() throws IOExceptio转载 2016-08-02 11:46:45 · 395 阅读 · 0 评论 -
Java UDP网络编程 - 最简单示例
/** *UDPServer *@author Winty wintys@gmail.com *@version 2008-12-15 */import java.io.*;import java.net.*;class UDPServer{ public static void main(String[] args)throws IOException{ Datagram转载 2016-08-02 13:52:14 · 531 阅读 · 0 评论 -
多线程之UDP实例
package Socket;import java.net.DatagramPacket;import java.net.InetAddress;public class Dgram { public static DatagramPacket toDatagram(String s, InetAddress destIA, int destPort)转载 2016-08-02 14:03:52 · 407 阅读 · 0 评论 -
Java UDP Socket
一. UDP协议定义UDP协议的全称是用户数据报,在网络中它与TCP协议一样用于处理数据包。在OSI模型中,在第四层——传输层,处于IP协议的上一层。UDP有不提供数据报分组、组装和不能对数据包的排序的缺点,也就是说,当报文发送之后,是无法得知其是否安全完整到达的。二. 使用UDP的原因它不属于连接型协议,因而具有资源消耗小,处理速度快的优点,所以通常音频、视频和普通数据在传送时使用U转载 2016-08-02 14:19:27 · 271 阅读 · 0 评论 -
HttpsConnection访问https
public static void main(String[] args) { // Create a trust manager that does not validate certificate chains TrustManager[] trustAllCerts = new TrustManager[] { new X509TrustManager(转载 2016-08-03 09:09:27 · 1372 阅读 · 0 评论 -
实现HTTP服务器的三种方法
1、使用socket简单实现http协议://参考链接:http://blog.csdn.net/sunxing007/article/details/4305956[java] view plain copy import java.io.*; import java.net.*; /** * MyHttpServer 实现一个简单的HTTP服务器端,可转载 2016-08-23 20:10:18 · 3124 阅读 · 0 评论 -
Java Socket实战之 传输对象
首先需要一个普通的对象类,由于需要序列化这个对象以便在网络上传输,所以实现java.io.Serializable接口就是必不可少的了,入下:[java] view plain copy package com.googlecode.garbagecan.test.socket.sample3; public class User implements j转载 2016-08-12 15:13:29 · 382 阅读 · 0 评论 -
Java Socket重要参数讲解
Java Socket的api可能很多人会用,但是Java Socket的参数可能很多人都不知道用来干嘛的,甚至都不知道有这些参数。backlog用于ServerSocket,配置ServerSocket的最大客户端等待队列。等待队列的意思,先看下面代码public class Main { public static void main(String[] args)转载 2016-10-08 17:57:35 · 298 阅读 · 0 评论 -
UDP传输文件(java)
文件接收端代码 package com.way.server; import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.File; import java.io.FileInputStream; import java.io转载 2016-10-21 10:18:05 · 615 阅读 · 0 评论 -
java获取cpu、内存、硬盘信息
1 下载安装sigar-1.6.4.zip 使用java自带的包获取系统数据,容易找不到包,尤其是内存信息不够准确,所以选择使用sigar获取系统信息。 下载地址:http://sourceforge.net/projects/sigar/files/latest/download?source=files 解压压缩包,将lib下sigar.jar导入ecli转载 2016-01-27 14:12:04 · 567 阅读 · 0 评论 -
测试端口是否开放
package test;import java.io.IOException;import java.net.InetSocketAddress;import java.net.Socket;import java.net.SocketAddress;import java.net.SocketTimeoutException;public class TestPort原创 2016-02-22 15:34:38 · 651 阅读 · 0 评论 -
用Java实现的多线程扫描IP程序
import java.net.*;import java.io.*;import java.util.LinkedList;import java.util.Queue;import java.util.concurrent.*;public class Main { public static void main(String[] args) { PingT转载 2016-01-27 09:47:17 · 3784 阅读 · 0 评论 -
java实现ping功能的几种方法
java实现ping功能一、纯Java实现ICMP的ping命令import java.io.*;import java.net.*;import java.nio.channels.*;import java.util.*;import java.util.regex.*;public class Ping { static intDAYTIME_POR转载 2016-01-22 17:20:15 · 5351 阅读 · 0 评论 -
JAVA中Ping IP地址的两种方法
今天进行IP巡检时用到了PINGIP地址,以获取该IP址是否可用,查了一些文档后,发现了两种PING的方法,但试用后,还是发现第一种比较好用,如果在局域网内,当然,第二种更有效率: 上面上代码 // 方法一 最常用的 PING 方法 Runtime runtime =Runtime.getRuntime(); // 获取当前程序的运行进对象 Process pro转载 2016-01-19 16:11:36 · 14035 阅读 · 0 评论 -
JAVA的网络编程
JAVA的网络编程【转】网络编程 网络编程对于很多的初学者来说,都是很向往的一种编程技能,但是很多的初学者却因为很长一段时间无法进入网络编程的大门而放弃了对于该部分技术的学习。 在 学习网络编程以前,很多初学者可能觉得网络编程是比较复杂的系统工程,需要了解很多和网络相关的基础知识,其实这些都不是很必需的。首先来问一个问题:你 会打手机吗?转载 2016-01-28 11:26:31 · 388 阅读 · 0 评论 -
一次完整的HTTP请求所经历的7个步骤
HTTP通信机制是在一次完整的HTTP通信过程中,Web浏览器与Web服务器之间将完成下列7个步骤:1. 建立TCP连接在HTTP工作开始之前,Web浏览器首先要通过网络与Web服务器建立连接,该连接是通过TCP来完成的,该协议与IP协议共同构建Internet,即著名的TCP/IP协议族,因此Internet又被称作是TCP/IP网络。HTTP是比TCP更高层次的应用层协议,根据规则,只转载 2016-01-28 12:56:09 · 375 阅读 · 0 评论 -
Snmp学习总结——SNMP4J介绍
一、SNMP4J介绍 SNMP4J是一个用Java来实现SNMP(简单网络管理协议)协议的开源项目.它支持以命令行的形式进行管理与响应。SNMP4J是纯面向对象设计与SNMP++(用C++实现SNMPv1/v2c/v3)相类似。 SNMP4J API 提供以下下特性:支持MD5和SHA验证,DES,3DES,AES128、AES192和AES256加密的SNMPv3。支持M转载 2016-03-01 12:26:12 · 877 阅读 · 0 评论 -
SNMP监控一些常用OID的总结
系统参数(1.3.6.1.2.1.1)OID描述备注请求方式.1.3.6.1.2.1.1.1.0获取系统基本信息SysDescGET.1.3.6.1.2.1.1.3.0监控时间sysUptimeGET.1.3.6转载 2016-03-01 12:25:01 · 7372 阅读 · 0 评论 -
Java编写的多线程本机端口扫描器
Java中的ServerSocket(int port)可以创建本机指定端口的ServerSocket对象,如果创建失败(端口已经被占用,即系统已经创建了此端口的监听对象实体),因此可以用一个ServerSocket对象逐个创建探测,考虑到端口太多,一个线程执行太慢,所以利用了多线程,整个程序运行时间大约为5-10秒。 要注意每个线程中试探的端口号都不能超过0-65535的范围,还需注意转载 2016-02-02 10:33:37 · 1543 阅读 · 0 评论 -
JAVA Socket超时浅析
JAVA Socket超时浅析 套接字或插座(socket)是一种软件形式的抽象,用于表达两台机器间一个连接的“终端”。针对一个特定的连接,每台机器上都有一个“套接字”,可以想象它们之间有一条虚拟的“线缆”。JAVA有两个基于数据流的套接字类:ServerSocket,服务器用它“侦听”进入的连接;Socket,客户端用它初始一次连接。侦听套接字只能接收新的连接请求,不能接收实际的数据包转载 2016-02-03 10:37:39 · 340 阅读 · 0 评论 -
Java实现ping功能的三种方法
Java实现ping功能的三种方法检测设备的运行状态,有的是使用ping的方式来检测的。所以需要使用java来实现ping功能。 为了使用java来实现ping的功能,有人推荐使用java的 Runtime.exec()方法来直接调用系统的Ping命令,也有人完成了纯Java实现Ping的程序,使用的是Java的NIO包(native io, 高效IO包)。但是设备检测只是想测试一个远程主转载 2016-02-03 11:20:27 · 1336 阅读 · 0 评论 -
多线程设置超时 测试端口是否打开
package test;import java.io.IOException;import java.net.InetSocketAddress;import java.net.ServerSocket;import java.net.Socket;import java.net.SocketAddress;import java.util.ArrayList;i原创 2016-02-03 14:41:02 · 368 阅读 · 0 评论 -
java网络编程二:服务器处理多个用户请求的解决方案(返回多个用户输入的信息)
1、用多个线程来同时为多个客户提供服务,这是提高服务器的并发性能的最常用的手段,那么怎样来为多个用户提供服务呢? 主要有三种方法: 2、为了更清楚理解服务器到底是怎么工作的,下面用第一种方式来处理多个用户请求。如果想用第二、第三方式可以参考Touch的博客:java多线程总结五:线程池的原理及实现 下面的示例中客户端输入信息,服务器端回复相同的信息,可以同时开转载 2016-03-04 10:27:32 · 419 阅读 · 0 评论 -
java网络编程一:Socket用法,简单模拟一对一聊天
1、socket和serverSocket通信简单介绍如下,注意客户端与服务器端是怎么交换数据的 2、模拟qq聊天功能,实现客户端与服务器(一对一)的聊天功能服务器端代码:[java] view plain copy "font-size:16px;">package demo.net; import java.io.DataInputS转载 2016-03-04 10:28:16 · 650 阅读 · 0 评论 -
java网络编程三:基于SMTP的邮件发送客户端
1、SMTP简介2、发送过程3、源代码示例[java] view plain copy "font-size:16px;">package demo.net; import java.awt.BorderLayout; import java.awt.GridLayout; import java.awt.event.ActionE转载 2016-03-04 10:29:23 · 3836 阅读 · 2 评论 -
java网络编程五:暴力法破解登录系统的完全实现(木子)
注:以下破解思路及代码源自我同学木子1、先来看一个无任何安全措施的登录系统的破解方法:每次模拟表单提交,若登录成功,此时返回的报头信息中有Location字段,登录失败无此字段,继续模拟登录。直到破解成功,本人成功破解部分同学校园网登录密码(纯四位数字的)代码如下:[java] view plain copy "font-size:16px;">package转载 2016-03-04 10:31:01 · 980 阅读 · 0 评论 -
JavaMail使用SMTP协议发送电子邮件
package cn.outofmemory.javamail; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import j转载 2016-03-07 09:39:40 · 4681 阅读 · 0 评论 -
java实现smtp邮件功能
package com.hzih.stp.web.action.infoselect;/** * Created by Administrator on 2016/3/11. */import java.util.Properties;import javax.activation.DataHandler;import javax.activation.DataSource;im原创 2016-03-14 13:15:41 · 961 阅读 · 0 评论 -
Java网络编程socket的半包,粘包与分包的问题
http://zhaohuiopensource.iteye.com/blog/1541270首先看两个概念: 短连接: 连接->传输数据->关闭连接 HTTP是无状态的,浏览器和服务器每进行一次HTTP操作,就建立一次连接,但任务结束就中断连接。 也可以这样说:短连接是指SOCKET连接后发送后接收完数据后马上断开连接。 长连接: 连接->传输数据->转载 2017-07-21 10:10:37 · 2339 阅读 · 0 评论