/**
   * 功能:这是服务器端程序,用来监听客户端应用程序建立连接的请求,并在
  连接建立后向客户端发送信息
   */
  package com.xushouwei;
  //引入相应的包
  import java.net.*;
  import java.io.*;
  public class TServer
  {
   public static void main(String[] args)
   {
   //定义ServerSocket类
   ServerSocket s=null;
   //定义Socket类
   Socket s1;
   //定义发送字符串
   String sendString="你好!我是徐守威...";
   //得到发送字符串的长度
   int s1lenth=sendString.length();
   //定义OutputStream类
   OutputStream s1out;
   //定义DataOutputStream类
   DataOutputStream dos;
   //通过1314端口建立连接
   try
   {
   //创建ServerSocket并把传入端口号
   s=new ServerSocket(1314);
   } catch (Exception e)
   {
   e.printStackTrace();
   }
   //循环运行监听程序,以监视连接请求
   while(true)
   {
   try
   {
   //监听端口请求,等待连接
   s1=s.accept();
   //得到与socket相连接的数据流对象
   s1out=s1.getOutputStream();
   dos=new DataOutputStream(s1out);
   //发送字符串
   dos.writeUTF(sendString);
   //关闭数据流(但不是关闭Socket连接)
   dos.close();
   s1out.close();
   s1.close(); 
   } catch (Exception e)
   {
   e.printStackTrace();
   }
   }
   }
 
  }
 
  2.客户端程序
  TCP/IP 服务器端应用程序是通过 Java 语言中提供的 Socket 类来实现的。同样,Socket 类提供了包括建立网络连接在内的许多功能,它的构造方法有以下几种:
  Socket(InetAddress address,int port)
  Socket(InetAddress address,int port,Boolean stream)
  Socket(String host,int port)
  Socket(String host,int port, InetAddress localAddr,int localPort)
  其中,address、host 和 port 分别指连接另一方的 IP 地址、主机名称和端口号,stream 这表示该 Socket 是否是支持流的 Socket,localAddr 和 localPort 是本机的地址和端口号。下面程
序用来与前面的服务器端程序建立连接,并将服务器端送来的信息显示在标准输出上。
  /**
   * 功能:这是客户端程序,用来与前面的服务器端程序建立连接,并将服务器端送来的信息显示在标准输出上
   */
  package com.xushouwei;
  //引入相应的包
  import java.net.*;
  import java.io.*;
  public class TClint
  {
   public static void main(String[] args)
   {
   //定义Socket类
   Socket s1;
   //定义InputStream类
   InputStream s1In;
   //定义DataInputStream类
   DataInputStream dis;
   try
   {
   //在端口1314打开连接
   s1=new Socket("127.0.0.1",1314);
   //获得socket端口的输入句柄,并从中读取数据
   s1In=s1.getInputStream();
   dis=new DataInputStream(s1In);
   String st=new String(dis.readUTF());
   System.out.println(st);
   //操作结束,关闭数据流及socket连接
   dis.close();
   s1In.close();
   s1.close();
   } catch (Exception e)
   {
   e.printStackTrace();
   }
   }
 
  }