package com.jdpowercharge.beans;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.InetAddress;
import java.net.InetSocketAddress;
import java.net.Socket;
import java.net.SocketAddress;
import java.net.SocketTimeoutException;
import java.net.UnknownHostException;
public class TestNet {
public static void main(String[] args) throws IOException {
//域名ip都可以
connect(“www.baidu.com”, 8081);
}
private static void connect(String server, int servPort) throws IOException {
InetAddress ad;
try {
ad = InetAddress.getByName(server);
boolean state = ad.isReachable(1000);//测试是否可以达到该地址 ,判断ip是否可以连接 1000是超时时间
if(state){
System.out.println("连接成功" + ad.getHostAddress());
} else{
System.out.println("连接失败");
//throw new IOException();
}
} catch (UnknownHostException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
//1.创建一个Socket实例:构造函数向指定的远程主机和端口建立一个TCP连接
//socket = new Socket(server, servPort);
/* Socket socket = new Socket();
socket.setReceiveBufferSize(8192);
socket.setSoTimeout(1000);// socket.setSoTimeout(2000);
SocketAddress address = new InetSocketAddress(server, servPort);
try {
socket.connect(address,1000);//1.判断ip、端口是否可连接
} catch (IOException e) {
System.out.println("新建一个 socket server "+ servPort+"连接失败");
throw new IOException();
}
System.out.println("新建一个socket");
System.out.println("Connected to server... sending echo string");
//2. 通过套接字的输入输出流进行通信:一个Socket连接实例包括一个InputStream和一个OutputStream,它们的用法同于其他Java输入输出流。
InputStream in = socket.getInputStream();
OutputStream out = socket.getOutputStream();
isalreadyconnected=1;
//connect1( server, servPort) ;
*/ }
}