background image

Java 编程:TCP 和 UDP 的一些简单应用

网络编程中最重要的就是 SOCKET,它其实也就是监听端口的原理。和我们用手机发短信
的原理应该是大致无二(我是这样理解的),而 JAVA

最出色的一点也就是 无痛苦连网 。

  网络最基本的精神就是让两台机器连接起来, 被呼叫的一方 也就是服务器,而 找

人的一方 则叫做客户机,所以说在连接中服务器、客户机也就是一个相对的概念了。而我
们对机器的标识主要是通过 IP 地址和端口来区分的。

   传输控制协议 TCP

和 用户数据报协议 是两种不同的协议,JAVA 对这两种协议的

支持基本是一致的,而它们本身最大的区别也就是发送的可靠性和速率,前者相比后者
是可靠协议,后者当然是速度快得多了,下面我们分别用两个 SOCKET 下演示:
  eg1:
  //Clients.java
  import java.io.*;
  import java.net.*;
  public class Clients
  {
  public static void main(String[] args) throws Exception
  {
  InetAddress addr = InetAddress.getByName(null);
  Socket socket = new Socket(addr,2000);
  PrintWriter out =
  new PrintWriter(
  new BufferedWriter(
  new OutputStreamWriter(
  socket.getOutputStream())),true);
  byte[] b = new byte[2048];
  String msg = new String(b,0,System.in.read(b));
  out.println(msg);
  socket.close();
  }
  }
  //Servers.java

  import java.io.*;
  import java.net.*;
  public class Servers
  {
  public static void main(String[] args) throws Exception
  {