TCP面向连接的socket通信
生活随笔
收集整理的這篇文章主要介紹了
TCP面向连接的socket通信
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
服務器端的java代碼
package com.aaa.servet;import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.net.ServerSocket;//導入java.net包,用于網(wǎng)絡通訊 import java.net.Socket; /*** 這種是基于TCP的案例。* @author teayear**/ public class ServerSocketTest {public static void main(String[] args) {System.out.println("...啟動TCP Socket服務器...");//1.初始化服務端Socket并綁定端口為8888try {ServerSocket serverSocket=new ServerSocket(8888);//需要添加try/catch塊//2.等待客戶端的連接Socket socket=serverSocket.accept();//3.獲取輸入流,通過socket對象流,傳遞給緩沖字符流進行讀取;BufferedReader bufferReader=new BufferedReader(new InputStreamReader(socket.getInputStream(),"utf-8"));//4.讀取一行數(shù)據(jù); // String str=bufferReader.readLine();String str;//4.1升級,通過循環(huán)升級接受信息;while((str=bufferReader.readLine())!=null){//5.輸出打印System.out.println(str);}} catch (IOException e) {e.printStackTrace();}} }效果如下:
import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.net.Socket; import java.net.UnknownHostException;public class ClientSocket {public static void main(String[] args) {//1.創(chuàng)建socket對象,建立到服務i端的連接;try {Socket socket=new Socket("127.0.0.1",8888);//2.通過緩沖輸出流,包裝下socket對象的輸出字節(jié)流,進行寫操作;BufferedWriter bufferWriter=new BufferedWriter(new OutputStreamWriter(socket.getOutputStream(),"GBK"));//通過標準輸入流獲取字符流;BufferedReader bufferReader=new BufferedReader(new InputStreamReader(System.in,"GBK"));//循環(huán)升級;while(true){String str=bufferReader.readLine();bufferWriter.write(str);bufferWriter.write("\n");//3.2還需要將緩沖中的內(nèi)容放到socketbufferWriter.flush();}//4.注意一定要有關閉連接; // socket.shutdownOutput();} catch (UnknownHostException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();}} }在服務器端會顯示:
總結
以上是生活随笔為你收集整理的TCP面向连接的socket通信的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: UDP 无连接上机案例3.4
- 下一篇: EA(Enterprise Archit