Java网络通信

netAddress类

java.net包中的InetAddress类是与IP地址相关的类,利用该类可以获取IP地址、主机地址等信息。

import java.net.InetAddress;
import java.net.UnknownHostException;

public class Address {
    public static void main(String[] args) {
        InetAddress ip;
        try {
            ip = InetAddress.getLocalHost();
            String localname = ip.getHostName();
            String localip = ip.getHostAddress();
            System.out.println("本机名/本机IP地址:" + ip);
            System.out.println("本机名:" + localname);
            System.out.println("本机IP地址:" + localip);
        } catch (UnknownHostException e) {
            e.printStackTrace();
        }
    }
}
时间: 2024-12-25 08:39:01

Java网络通信的相关文章

Java程序员从笨鸟到菜鸟之(十三)java网络通信编程

本文来自:曹胜欢博客专栏.转载请注明出处:http://blog.csdn.net/csh624366188 首先声明一下,刚开始学习java网络通信编程就对他有一种畏惧感,因为自己对网络一窍不通,所以...呵呵..你懂得,昨天又仔细的学习了一遍,感觉其实java网络编程也没想象的那么难,不信,咱一起看看...呵呵.. 网络编程就是在两个或两个以上的设备(例如计算机)之间传输数据.程序员所作的事情就是把数据发送到指定的位置,或者接收到指定的数据,这个就是狭义的网络编程范畴.在发送和接收数据时,大

Java网络通信认知

本文转载自:http://wing011203.cnblogs.com/ 在这篇文章里,我们主要讨论如何使用Java实现网络通信,包括TCP通信.UDP通信.多播以及NIO. TCP连接 TCP的基础是Socket,在TCP连接中,我们会使用ServerSocket和Socket,当客户端和服务器建立连接以后,剩下的基本就是对I/O的控制了. 我们先来看一个简单的TCP通信,它分为客户端和服务器端. 客户端代码如下: 简单的TCP客户端 import java.net.*; import jav

基于nio的java网络通信框架介绍和选择

Java NIO框架Mina.Netty.Grizzly介绍与对比 Mina Mina(Multipurpose Infrastructure for Network Applications) 是 Apache 组织一个较新的项目,它为开发高性能和高可用性的网络应用程序提供了非常便利的框架.当前发行的 Mina 版本2.04支持基于 Java NIO 技术的 TCP/UDP 应用程序开发.串口通讯程序,Mina 所支持的功能也在进一步的扩展中.目前,正在使用 Mina的应用包括:Apache

java网络通信:伪异步I/O编程(PIO)

缺点:避免了线程资源耗尽的问题,但是根本上来说,serversocket的accept方法和inputstream的输入流方法都是阻塞型方法. 服务端:加了一个线程池,实现线程复用.客户端不变 public class TimeServer { public static void main(String[] args) throws IOException { int port = 8080; ServerSocket server = null; try { server = new Ser

java网络通信:异步非阻塞I/O (NIO)

首先是channel,是一个双向的全双工的通道,可同时读写,而输入输出流都是单工的,要么读要么写.Channel分为两大类,分别是用于网络数据的SelectableChannel和用于文件操作的FileChannel. 注意:在java NIO库中,所有的数据都是用缓冲区处理,常用的是ByteBuffer. 多路复用器Selector: Selector会不断轮询注册在其上的Channel,如果某个Channel上又新的连接接入.读和写事件,这个Channel就处于就绪状态,通过Selector

java网络通信:同步阻塞式I/O模型(BIO)

缺点:一个线程只能处理一个客户端连接 服务端: public class TimeServer { public static void main(String[] args) throws IOException { int port = 8080; ServerSocket server = null; try { server = new ServerSocket(port); System.out.println("The time server is start in port : &

java网络通信:netty

Netty提供异步的.事件驱动的网络应用程序框架和工具,用以快速开发高性能.高可靠性的网络服务器和客户端程序. 也就是说,Netty 是一个基于NIO的客户,服务器端编程框架,使用Netty 可以确保你快速和简单的开发出一个网络应用,例如实现了某种协议的客户,服务端应用.Netty相当简化和流线化了网络应用的编程开发过程,例如,TCP和UDP的socket服务开发. 本文示例采用netty 5.0.上代码. 服务端: import io.netty.bootstrap.ServerBootstr

java网络通信:HTTP协议 之 Sessions与Cookies

通过前一篇博客的讲解,我们大体知道了HTTP协议是什么,它有什么组成,以及它的工作原理,那么在HTTP的很多特点中,有一点叫做,无状态,就HTTP是一个无状态的协议,如果需要前面的信息用于处理后边的请求,那么在HTTP当中,就需要对前边的信息进行重发,这一点是很不方便的,那么为了解决HTTP在用于需要记录前边信息的场景的问题,提出了这么两个概念,Session和Cookie.那么我们先来了解一下Session是什么呢? Session,顾名思义,中文含义是会话,如同前文所述,它是用于解决一类用来

Java网络通信常用类介绍(Java.net包)

InetAddress类:表示互联网协议 (IP) 地址 URL类:代表一个统一资源定位符,它是指向互联网"资源"的指针. 资源可以是简单的文件或目录,也可以是对更为复杂的对象的引用,例如对数据库或搜索引擎的查询. URLConnection类:用于读取和写入此 URL 引用的资源. 使用步骤: 通过在 URL 上调用 openConnection 方法创建连接对象. 处理设置参数和一般请求属性. 使用 connect 方法建立到远程对象的实际连接. 远程对象变为可用.远程对象的头字段