歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> Linux編程

Java 簡單的Java Socket程序

//服務器端:ServerDemo.java

import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import java.net.ServerSocket;
import java.net.Socket;
public class ServerDemo
{
public static void main(String[] args)
{
ServerSocket ss = null;
try {
ss = new ServerSocket(8888);
        //服務器接收到客戶端的數據後,創建與此客戶端對話的Socket
        Socket socket = ss.accept();
       
        //用於向客戶端發送數據的輸出流
        DataOutputStream dos = new DataOutputStream(socket.getOutputStream());
       
        //用於接收客戶端發來的數據的輸入流
        DataInputStream dis = new DataInputStream(socket.getInputStream());
       
        System.out.println("服務器接收到客戶端的連接請求:" + dis.readUTF());
       
        //服務器向客戶端發送連接成功確認信息
        dos.writeUTF("接受連接請求,連接成功!");
       
        //不需要繼續使用此連接時,關閉連接
        socket.close();
        ss.close();
} catch (IOException e){
  e.printStackTrace();
  }
  }
}

//客戶端:ClientDemo.java

import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.net.Socket;
import java.net.UnknownHostException;
public class ClientDemo {
  public static void main(String[] args)
  {
  Socket socket = null;
  try {
      socket = new Socket("localhost",8888);
           
            //獲取輸出流,用於客戶端向服務器端發送數據
            DataOutputStream dos = new DataOutputStream(socket.getOutputStream());
           
            //獲取輸入流,用於接收服務器端發送來的數據
            DataInputStream dis = new DataInputStream(socket.getInputStream());
           
            //客戶端向服務器端發送數據
            dos.writeUTF("我是客戶端,請求連接!");
           
            //打印出從服務器端接收到的數據
            System.out.println(dis.readUTF());
           
            //不需要繼續使用此連接時,記得關閉哦
            socket.close();
  } catch (UnknownHostException e)
      {
      e.printStackTrace();
      } catch (IOException e)
        {
      e.printStackTrace();
        }
  }
}

運行,開兩個CMD窗口,分別運行:java ServerDemo和java ClientDemo

運行結果如下:

java ServerDemo

服務器接收到客戶端的連接請求:我是客戶端,請求連接!

java ClientDemo

接受連接請求,連接成功!

Linux Socket 編程I/O Mutiplexing poll 和 epoll  http://www.linuxidc.com/Linux/2014-03/97443.htm

Linux Socket 編程I/O Multiplexing http://www.linuxidc.com/Linux/2014-03/97442.htm

Socket網絡編程-Mina 實例 http://www.linuxidc.com/Linux/2014-02/96881.htm

Lua加入Socket庫支持 http://www.linuxidc.com/Linux/2013-12/93517.htm

Python編寫的Socket服務器和客戶端 http://www.linuxidc.com/Linux/2013-08/89299.htm

Copyright © Linux教程網 All Rights Reserved