在網(wǎng)絡(luò)編程中如果只要求客戶機(jī)向服務(wù)器發(fā)送消息,不要求服務(wù)器向客戶機(jī)發(fā)送消息,稱為單線通信??蛻魴C(jī)套接字和服務(wù)器套接字鏈接成功后,可估計(jì)通過(guò)輸出流發(fā)送數(shù)據(jù),服務(wù)器則通過(guò)輸入流接受數(shù)據(jù),下面是簡(jiǎn)單的單向通信的例子。
實(shí)例1:本實(shí)例是一個(gè)TCP服務(wù)器端程序,在 getserver() 方法中建立服務(wù)器套接字,調(diào)用getClienMessage()方法獲取客戶端信息。代碼如下:
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.net.ServerSocket; import java.net.Socket; public class MyTcp { private BufferedReader reader; private ServerSocket server; private Socket socket; void getserver() { try { server = new ServerSocket(8998); System.out.println("服務(wù)器套接字已經(jīng)創(chuàng)建成功"); while(true) { System.out.println("等待客戶機(jī)的連接"); socket = server.accept(); reader = new BufferedReader(new InputStreamReader(socket.getInputStream())); getClienMessage(); } }catch(Exception e) { e.printStackTrace(); } } private void getClienMessage() { try { while (true) { System.out.println("客戶機(jī):"+ reader.readLine()); } }catch(Exception e) { e.printStackTrace(); } try { if(reader !=null) { reader.close(); } if(socket !=null) { socket.close(); } }catch(IOException e) { e.printStackTrace(); } } public static void main(String[] args) { MyTcp tcp = new MyTcp(); tcp.getserver(); } }