package com.net.socket;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.net.InetAddress;
import java.net.Socket;
import java.util.Scanner;
/*
* java.net下提供一个Socket的类帮助我们进行网络通信
* Socket也要有三个条件: 1.电话号码(对方的IP地址)
* 2.听筒(输入流)
* 3.话筒(输出流)
*
* Socket 封装了所有的数据的发送和接收,所以我们只管往话筒说话,只管从听筒听话就行了,其它不用管
*/
public class SocketTest {
public static void main(String[] args) throws Exception{
InetAddress ia = InetAddress.getByName("192.168.1.222");
Socket s = new Socket(ia,9527);//就象电话和分机号码
InputStream is = s.getInputStream(); //从电话机中得到听筒,字节的,像发报机
BufferedReader br = new BufferedReader(new InputStreamReader(is));//将发报机变成手机
OutputStream os = s.getOutputStream();//得到话筒
PrintWriter pw = new PrintWriter(os,true);//将字节流转为带格式的字符流
while(true){
//嘴
Scanner sc = new Scanner(System.in);
System.out.println("我说:"); //接收我要说的话
String me = sc.nextLine();
pw.println(me); //我说的话发给对方
String str = br.readLine(); //听到对方的回话
System.out.println("对方说"+ str);
}
// pw.close();
// os.close();
// br.close();
// is.close();
// s.close();
}
}
package com.net.socket;
import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.PrintWriter;
import java.net.ServerSocket;
import java.net.Socket;
import java.util.Scanner;
/*
* 在java网络通信中,接电话(接数据)的人,用的叫ServerSocket
*
*
*
*/
public class ServerSocketTest {
/**
* @param args
*/
public static void main(String[] args) throws Exception{
// TODO Auto-generated method stub
ServerSocket ss = new ServerSocket(9527);//在9527这个端口接电话
System.out.println("我是服务端,我在等电话");
Socket s = ss.accept(); // 接到电话
InputStream is = s.getInputStream(); //从电话机中得到听筒,字节的,像发报机
BufferedReader br = new BufferedReader(new InputStreamReader(is));//将发报机变成手机
OutputStream os = s.getOutputStream();//得到话筒
PrintWriter pw = new PrintWriter(os,true);//将字节流转为带格式的字符流
while(true){
String str = br.readLine(); //先听对方说
System.out.println("对方说:"+str);
Scanner sc = new Scanner(System.in);//回答对方
System.out.println("我说:");
String me = sc.nextLine();
//System.out.println(me);
pw.println(me);
}
// pw.close();
// os.close();
// br.close();
// is.close();
// s.close();
}
}
package com.net.ine;
import java.net.InetAddress;
public class InetAddressTest {
/**
* @param args
*/
public static void main(String[] args) throws Exception {
// TODO Auto-generated method stub
InetAddress ia = InetAddress.getLocalHost();//得到本机IP的一个对象
System.out.println(ia);
InetAddress ia1 = InetAddress.getByName("www.163.com");
System.out.println(ia1);//www.163.com/182.118.15.39
InetAddress[] ia2 = InetAddress.getAllByName("www.qq.com");//IP地址的对象
for(InetAddress iaa : ia2){
System.out.println(iaa);
}//www.163.com/182.118.15.39
// www.qq.com/60.28.14.190
// www.qq.com/125.39.127.22
// www.qq.com/125.39.127.25
// www.qq.com/60.28.14.149
}
}