【Java】基于Socket的C/S聊天程序
生活随笔
收集整理的這篇文章主要介紹了
【Java】基于Socket的C/S聊天程序
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
這次又是啥
一個(gè)很久以前寫的能夠支持C/S模式聊天的Demo,利用Java的Socket寫的。
只能聊一句就下線,挺low的。
服務(wù)器端程序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("服務(wù)器啟動(dòng)");Socket socket = ss.accept();System.out.println("連接建立");System.out.println(socket.getInetAddress().getHostAddress());//服務(wù)器接收客戶端發(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ù),服務(wù)器端接收try {socket = new Socket("127.0.0.1",8888);System.out.println("與服務(wù)器連接了");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();}}} }運(yùn)行樣例
注意要先起S端,否則:
好啦,先起S端:
然后S端就在等待,它“說(shuō)話”也沒(méi)人理它:
接著起C端:
S端也會(huì)有響應(yīng):
然后C端發(fā)消息:
S端收到消息,就雙雙Over了:
一個(gè)簡(jiǎn)單的程序Demo而已,希望對(duì)萌新有所幫助
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來(lái)咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)總結(jié)
以上是生活随笔為你收集整理的【Java】基于Socket的C/S聊天程序的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 【算法分析与设计】浅析二分查找
- 下一篇: 【数据结构与算法】双链表V2.0的Jav