java中c/s模式傳送數據

  這裏主要是傳送一個整型數爲例子:
在服務器端:
package tcp;
import java.io.DataInputStream;//添加相關頭文件
import java.io.IOException;
import java.io.OutputStreamWriter;
import java.net.ServerSocket;
import java.net.Socket;
import java.util.Date;
import org.omg.CORBA.portable.InputStream;
public class server {
 private int port=8000;//注意端口號要一致
 private static ServerSocket serverSocket;
 public server()throws IOException//要注意拋出異常
 {
  serverSocket=new ServerSocket(port,3);//服務器端創建套接字
  System.out.println("服務器啓動");
 }
 public static void service()
 {
  while(true){//服務器一般是無限循環
   Socket socket=null;
   try{
    socket=serverSocket.accept();
    DataInputStream in=new DataInputStream(socket.getInputStream());//使用數據包輸入流獲取信息
    int c;
    c=in.readInt();//讀取一個整型數
    System.out.println(c);
    socket.close();
   }catch(IOException e){
    e.printStackTrace();
   }
   finally{
    try{
     if(socket!=null)
      socket.close();//不管怎麼樣,都要關閉套接字
    }
    catch(IOException e){
     e.printStackTrace();
    }
   }
  }
 }
 public static void main(String[] args) throws IOException {//要拋出異常
   server s=new server();
   service();
 }
}
在客戶端:
package tcp;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.net.Socket;
public class client {
 public static void main(String[] args)throws Exception {
  String host="localhost";
  int port=8000;//端口一致
  
  Socket socket=new Socket(host,port);
  DataOutputStream dis=new DataOutputStream(socket.getOutputStream());//輸出流輸出數據到服務器端
  dis.writeInt(4);寫入一個整型數
  
  socket.close();//別忘了要關閉套接字
 }
}
運行完之後的看到:服務器啓動
                                      4
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章