码迷,mamicode.com
首页 > 编程语言 > 详细

Java网络程序设计 精简启蒙版

时间:2018-05-09 22:34:10      阅读:202      评论:0      收藏:0      [点我收藏+]

标签:ack   客户端   tac   服务器   精简   cep   防火墙   str   imp   

  一、基础知识

  1.TCP

  2.UDP

  二、IP地址封装

  1.InetAddress类的常用方法

getLocalHost()                 返回本地主机的InetAddress对象                 InetAddress类型
getByName(String host)         获取指定主机名称的IP地址                       InetAddress类型
getHostName()                  获取此主机名                                 String
getHostAddress()               获取主机IP地址                               String
isReachable(int timeout)       在timeout指定的毫秒时间内,测试IP地址是否可达    Boolean

  2.示例1:测试IP地址从“192.168.131.1”到“192.168.131.150”范围内所有可以访问的主机的名称,如果对方没有安装防火墙,并且网络连接正常的话,都可以访问的。从输出可以看出,192.168.131.1是本地主机的IP,其他地址都不能联通,可能是因为1000毫秒太短或者对方主机装有防火墙的原因。

package bigjunoba.bjtu.iptoname;

import java.io.IOException;
import java.net.InetAddress;
import java.net.UnknownHostException;

public class IPToName {
    public static void main(String[] args) {
        String IP = null;
        for (int i = 1; i <= 150; i++) {
            IP = "192.168.131." + i;                        //生成IP字符串
            try {
                InetAddress host;
                host = InetAddress.getByName(IP);            //获取IP封装对象
                if (host.isReachable(1000)) {               //用1秒的时间测试IP地址是否可达
                    String hostName = host.getHostName(); 
                    System.out.println("IP地址" + IP + "的主机名称是:" + hostName);
                }
            } catch (UnknownHostException e) {              //捕获未知主机异常
                e.printStackTrace();
            } catch (IOException e) {                       //捕获输入输出异常
                e.printStackTrace();
            }
        }
        System.out.println("搜索完毕!");
    }
}
IP地址192.168.131.1的主机名称是:BigjunOba
搜索完毕!

  三、套接字

  套接字(Socket)是代表计算机之间网络连接的对象,用于建立计算机之间的TCP连接,使计算机之间可以建立连接并实现网络通信。

  1.服务器端套接字

  服务器端套接字是SercerSocket类的实例对象,用于实现服务器缓存。ServerSocket类将监视指定的端口,并建立客户端到服务器端套接字的连接,也就是客户负责呼叫任务。

  (1)创建服务器端套接字

  创建服务器端套接字可以使用4中构造方法。

  ①ServerScoket()

  默认构造方法,可以创建未绑定端口号的服务器套接字。服务器套接字的所有构造方法都需要处理IOException异常。

  一般格式为:

            try {
                ServerSocket server = new ServerSocket();
            } catch (IOException e) {
                e.printStackTrace();
            }

  ②ServerScoket(int port)

            try {
                ServerSocket server = new ServerSocket(9527);
            } catch (IOException e) {
                e.printStackTrace();
            }
        }

  ③

            try {
                ServerSocket server = new ServerSocket(9527, 300);
            } catch (IOException e) {
                e.printStackTrace();
            }
        }

  ④

            try {
                ServerSocket server = new ServerSocket(9527, 300);
            } catch (IOException e) {
                e.printStackTrace();
            }
        }

  (2)创建接收套接字连接

  2.客户端套接字

  (1)创建客户端套接字

  (2)发送和接收数据

  四、数据报

  1.DatagramPacket

  2.DatagramSocket

  五、网络聊天程序开发

Java网络程序设计 精简启蒙版

标签:ack   客户端   tac   服务器   精简   cep   防火墙   str   imp   

原文地址:https://www.cnblogs.com/BigJunOba/p/9016769.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!