Java网络编程是Java主要应用的地方,它涉及到多方面的知识。首先我们要明白网络通信协议,然后是有关IO的知识。由于是初学这部分内容,因此有关Java网络编程的技术我也不好深入给大家分析。下面我给大家介绍一个基本的网络程序,要说到网络编程首先明确,要有一个服务器端和一个用户端。要实现网络通信必须得是双方的事情吗。

服务器端的编写:

package com.dr1110;

import java.io.DataOutputStream;
import java.io.IOException;
import java.net.ServerSocket;
import java.net.Socket;
public class Server1 {
      public static void main(String[] args) throws IOException{
          ServerSocket ss = new ServerSocket(9999);
          while(true){
              System.out.println("------------start--------------");
              Socket s = ss.accept();
              DataOutputStream dos = new DataOutputStream(s.getOutputStream());
              System.out.println("客户端地址:"+s.getInetAddress()+"客户端端口: "+s.getPort());
              dos.writeUTF("服务器端地址:"+s.getLocalAddress().getHostAddress()+"服务器端端口:"+s.getLocalPort());
              dos.flush();
              dos.close();
              s.close();
          }
      }
}

客户端的编写:

package com.dr1110;

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.Socket;

public class Client {
     public static void main(String [] args){
         Socket client = null;
         try{
             client = new Socket(""localhost"",9999);
         }catch(Exception e){}
         String str = null;
         BufferedReader buf = null;
         try{
             buf = new BufferedReader(new InputStreamReader(client.getInputStream()));
             str = buf.readLine();      
         }catch(Exception e){}
         System.out.println(str);
     }
}

当我们在两台机子上面分别运行这两个程序时,就会实现两台机子的通信了。在网络通信中,主要是用到了Socket和ServerSocket这两个类创建对象。Socket构建一个套接字,用来连接制定的主机和端口。ServerSocket类创建一个服务端套接字,用来监听制定的端口,入9999。这是有关网络编程中最简单的例子了,随着学习的深入,有关这方面的应用会越来越多。