socket

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

    }

}

 

posted @ 2012-10-19 11:51  邹晟  阅读(244)  评论(0)    收藏  举报