亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

基于Java的Socket編寫的C/S聊天程序實現(xiàn)

 更新時間:2020年03月12日 10:41:20   作者:進階的JFarmer  
這篇文章主要介紹了基于Java的Socket編寫的C/S聊天程序實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

一個很久以前寫的能夠支持C/S模式聊天的Demo,利用Java的Socket寫的。

只能聊一句就下線,挺low的。

服務器端程序Server

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.ServerSocket;
import java.net.Socket;

public class TestTcpServer {
	public static void main(String[] args) {
		ServerSocket ss = null;
		BufferedReader in = null;
		try {
			ss = new ServerSocket(8888);
			System.out.println("服務器啟動");
			Socket socket = ss.accept();
			
			System.out.println("連接建立");
			System.out.println(socket.getInetAddress().getHostAddress());
			
			//服務器接收客戶端發(fā)送的數(shù)據(jù)
			in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
			
			String clientContent = in.readLine();
			
			System.out.println("接收客戶端消息: " +clientContent);

		} catch (IOException e) {
			e.printStackTrace();
		}
	}
}

客戶端程序Clinet

import java.io.BufferedWriter;
import java.io.IOException;
import java.io.OutputStreamWriter;
import java.net.Socket;
import java.net.UnknownHostException;
import java.util.Scanner;

public class TestTcpClient {
	public static void main(String[] args) {
		Socket socket = null;
		BufferedWriter out = null;
		
		//客戶端發(fā)送數(shù)據(jù),服務器端接收
		try {
			socket = new Socket("127.0.0.1",8888);
			System.out.println("與服務器連接了");
			Scanner sc = new Scanner(System.in);
			String content = sc.nextLine();

			out = new BufferedWriter((new OutputStreamWriter(socket.getOutputStream())));
			
			out.write(content);
			out.flush();
   sc.close();
		} catch (UnknownHostException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		} finally{
			try {
				out.close();
			
				socket.close();
			} catch (IOException e) {
				e.printStackTrace();
			}
		}
	}
}

運行樣例

注意要先起S端,否則:


好啦,先起S端:


然后S端就在等待,它“說話”也沒人理它:


接著起C端:


S端也會有響應:


然后C端發(fā)消息:


S端收到消息,就雙雙Over了:

到此這篇關于基于Java的Socket編寫的C/S聊天程序實現(xiàn)的文章就介紹到這了,更多相關Java Socket C/S聊天內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • 基于Java實現(xiàn)一個復雜關系表達式過濾器

    基于Java實現(xiàn)一個復雜關系表達式過濾器

    這篇文章主要為大家詳細介紹了如何基于Java實現(xiàn)一個復雜關系表達式過濾器。文中的示例代碼講解詳細,感興趣的小伙伴可以了解一下
    2022-07-07
  • java實現(xiàn)文件的上傳功能

    java實現(xiàn)文件的上傳功能

    這篇文章主要為大家詳細介紹了java實現(xiàn)文件的上傳功能,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-01-01
  • 詳解通過maven運行項目的兩種方式

    詳解通過maven運行項目的兩種方式

    這篇文章主要介紹了通過maven運行項目的兩種方式,給大家提到了通過tomcat的方式來啟動maven項目的方法,通過圖文并茂的形式給大家介紹的非常詳細,需要的朋友可以參考下
    2021-12-12
  • mybatis批量新增、刪除、查詢和修改方式

    mybatis批量新增、刪除、查詢和修改方式

    這篇文章主要介紹了mybatis批量新增、刪除、查詢和修改方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-09-09
  • Java8通過Function獲取字段名的步驟

    Java8通過Function獲取字段名的步驟

    這篇文章主要介紹了Java8通過Function獲取字段名,需要的朋友可以參考下
    2020-04-04
  • 基于HashMap遍歷和使用方法(詳解)

    基于HashMap遍歷和使用方法(詳解)

    下面小編就為大家?guī)硪黄贖ashMap遍歷和使用方法(詳解)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-08-08
  • spring?boot之使用spring?data?jpa的自定義sql方式

    spring?boot之使用spring?data?jpa的自定義sql方式

    這篇文章主要介紹了spring?boot之使用spring?data?jpa的自定義sql方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-12-12
  • Java反射通過Getter方法獲取對象VO的屬性值過程解析

    Java反射通過Getter方法獲取對象VO的屬性值過程解析

    這篇文章主要介紹了Java反射通過Getter方法獲取對象VO的屬性值過程解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-02-02
  • Java?Arrays.copyOf?功能示例代碼

    Java?Arrays.copyOf?功能示例代碼

    Arrays.copyOf功能是實現(xiàn)數(shù)組的復制,返回復制后的數(shù)組,這篇文章主要介紹了Java?Arrays.copyOf?功能,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-03-03
  • JAVA之String中刪除指定字符方式(11種方法)

    JAVA之String中刪除指定字符方式(11種方法)

    這篇文章主要介紹了JAVA之String中刪除指定字符方式(11種方法),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-02-02

最新評論