Android的網絡應用 - 簡單的C/S聊天室
服務器端:提供兩個類
創建ServerSocket監聽的主類:MyServer.java
負責處理每個Socket通信的線程類:ServerThread.java
客戶端:是一個Android應用程序
==>MultiThreadClient
界面提供兩個文本框和一個發送按鈕
Activity通過Handler來處理來自子線程的消息
客戶端需要一個子線程負責讀取來自網絡的數據
項目效果:
服務器端代碼:
MyServer.java
- import java.io.IOException;
- import java.net.ServerSocket;
- import java.net.Socket;
- import java.util.ArrayList;
-
-
- public class MyServer
- {
- //定義保存所有Socket的ArrayList
- public static ArrayList<Socket> socketList
- = new ArrayList<Socket>();
- public static void main(String[] args)
- throws IOException
- {
- ServerSocket ss = new ServerSocket(8000);
- while(true)
- {
- //此行代碼會阻塞,將一直等待別人的連接
- Socket s = ss.accept();
- socketList.add(s);
- //每當客戶端連接後啟動一條ServerThread線程為該客戶端服務
- new Thread(new ServerThread(s)).start();
- }
-