基于Java的Socket編寫的C/S聊天程序?qū)崿F(xiàn)
一個(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端就在等待,它“說話”也沒人理它:
接著起C端:
S端也會(huì)有響應(yīng):
然后C端發(fā)消息:
S端收到消息,就雙雙Over了:
到此這篇關(guān)于基于Java的Socket編寫的C/S聊天程序?qū)崿F(xiàn)的文章就介紹到這了,更多相關(guān)Java Socket C/S聊天內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!
相關(guān)文章:
1. ASP.NET MVC遍歷驗(yàn)證ModelState的錯(cuò)誤信息2. 將properties文件的配置設(shè)置為整個(gè)Web應(yīng)用的全局變量實(shí)現(xiàn)方法3. asp(vbs)Rs.Open和Conn.Execute的詳解和區(qū)別及&H0001的說明4. jsp網(wǎng)頁實(shí)現(xiàn)貪吃蛇小游戲5. 用css截取字符的幾種方法詳解(css排版隱藏溢出文本)6. ASP 信息提示函數(shù)并作返回或者轉(zhuǎn)向7. asp中response.write("中文")或者js中文亂碼問題8. PHP設(shè)計(jì)模式中工廠模式深入詳解9. CSS hack用法案例詳解10. ThinkPHP5實(shí)現(xiàn)JWT Token認(rèn)證的過程(親測(cè)可用)
