Java單線程程序實現實現簡單聊天功能
信息發送
import java.io.*;import java.net.ServerSocket;import java.net.Socket;import java.util.Scanner; public class May { public static void main(String[] args) {// 單線程程序 try { ServerSocket socket = new ServerSocket(2233);//端口號 Socket soc = socket.accept();// 讀取信息 BufferedReader br = new BufferedReader(new InputStreamReader(soc.getInputStream())); PrintWriter out = new PrintWriter(soc.getOutputStream()); while (true) {// 發送System.out.println('發送:');String msg = new Scanner(System.in).nextLine();//SimpleDateFormat sdf = new SimpleDateFormat('yyyy-MM-dd HH:mm:ss');out.println(String.format('[%s]:%srn', '服務器', msg));out.flush();// 接收System.out.println(br.readLine()); } } catch (IOException e) { e.printStackTrace(); } }}
接收信息并回復
import java.io.*;import java.net.Socket;import java.util.Scanner;public class Max { public static void main(String[] args) { try { Socket s = new Socket('localhost',2233);//鏈接端口號 String sc = s.getInetAddress().getHostAddress();//獲取IP// 讀取信息 BufferedReader br = new BufferedReader(new InputStreamReader(s.getInputStream())); PrintWriter out = new PrintWriter(s.getOutputStream()); while (true) {// 接收System.out.println(br.readLine());// 發送System.out.println('發送:');String msg = new Scanner(System.in).nextLine();//SimpleDateFormat sdf = new SimpleDateFormat('yyyy-MM-dd HH:mm:ss');out.println(String.format('[%s]:%srn', sc, msg));out.flush(); } } catch (IOException e) { e.printStackTrace(); } }}
發送你好
接收你好并回復
[/code]
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。
相關文章:
1. React+umi+typeScript創建項目的過程2. ASP調用WebService轉化成JSON數據,附json.min.asp3. php測試程序運行速度和頁面執行速度的代碼4. php網絡安全中命令執行漏洞的產生及本質探究5. ASP.NET Core 5.0中的Host.CreateDefaultBuilder執行過程解析6. 無線標記語言(WML)基礎之WMLScript 基礎第1/2頁7. Warning: require(): open_basedir restriction in effect,目錄配置open_basedir報錯問題分析8. ASP中常用的22個FSO文件操作函數整理9. SharePoint Server 2019新特性介紹10. 三個不常見的 HTML5 實用新特性簡介
