1. 程式人生 > >java網路程式設計實現客戶端連線伺服器端,併發送訊息例子(1)。(阻塞式的方法)

java網路程式設計實現客戶端連線伺服器端,併發送訊息例子(1)。(阻塞式的方法)

昨天晚上學了網路執行緒,並寫了一個,客戶端連線伺服器的簡單例子,有點QQ的感覺,但是實際上還差遠,差不多就是很久之前那種“長江長江我是黃河”的通話形式。
程式碼如下:
伺服器端程式碼:

import java.io.IOException;
import java.io.InputStream;
import java.net.ServerSocket;
import java.net.Socket;
import java.util.Date;


public class TestServer2 {
    public static void main(String[] args) throws
IOException { ServerSocket ss=new ServerSocket(10000); System.out.println("時間:"+new Date()+",伺服器啟動了,監聽了10000埠"); while (true) { Socket s = ss.accept();// 如果有客戶端上來,則建立一個與客戶機的連線。 阻塞式的方法 System.out.println("客戶端是" + s.getRemoteSocketAddress()+"連線了伺服器");// 得帶遠端的客戶端埠 InputStream iis=s.getInputStream(); byte
[] bs=new byte[1024]; int length=-1; String str=""; while((length=iis.read(bs,0,bs.length))!=-1){ str+=new String(bs,0,length); } System.out.println("客戶端說:"+str); iis.close(); s.close(); } } }

客戶端程式碼:

import java.io.IOException;
import java.io.OutputStream;
import java.net.Socket;
import java.net.UnknownHostException;
import java.util.Date;


public class TestClient2 {
    public static void main(String[] args) throws UnknownHostException, IOException {
        //客戶端 的功能:1、連結伺服器  2、發信息
        Socket s=new Socket("192.168.1.114",10000);//寫伺服器端的地址和埠,埠號需要與伺服器端程式碼監聽的埠號一致才能建立連線。
        System.out.println("時間:"+new Date()+",建立了與伺服器的連結");

        //輸出流,伺服器接收
        OutputStream oos=s.getOutputStream();
        oos.write("夏天來了,天真熱!".getBytes());
        oos.flush();
        oos.close();
        s.close();
    }
}

執行結果:
這裡寫圖片描述