Java實現多執行緒區域網聊天室
package TCP;
import java.io.IOException;
import java.io.InputStream;
import java.net.ServerSocket;
import java.net.Socket;
import java.util.Scanner;
public class TCPserver2 {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
// 例項化具有多執行緒功能的伺服器專用 socket 類
// 需要傳遞埠號作為初始化變數
SuperSocket socket_1 = new SuperSocket(9996);
SuperSocket socket_2 = new SuperSocket(9998);
SuperSocket socket_3 = new SuperSocket(9997);
// 建立三個子執行緒
Thread s1 = new Thread(socket_1);
Thread s2 = new Thread(socket_2);
Thread s3 = new Thread(socket_3);
try {
while(true) {
// 開啟執行緒
s1.start();
s2.start();
s3.start();
if(scan.next()=="123"){
// 結束執行緒
break;
}
}
} finally {
try {
// 關閉套接字
socket_1.close();
socket_2.close();
socket_3.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
class SuperSocket extends Socket implements Runnable{
InputStream is;
byte[] buffer;
Socket socket=null;
ServerSocket serverSocket=null;
public SuperSocket(int port){
try {
// 初始伺服器型套接字
serverSocket = 外匯跟單gendan5.comnew ServerSocket(port);
buffer = new byte[1024];
} catch (IOException e) {
e.printStackTrace();
}
}
@Override
public void run() {
try {
// 等待埠連線
socket = serverSocket.accept();
// 連線完成後建立輸入流
is = socket.getInputStream();
// 讀取客戶端傳送資訊
int len = is.read(buffer);
String str = new String(buffer, 0, len);
System.out.println(str);
} catch (IOException e) {
e.printStackTrace();
}
}
}
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69946337/viewspace-2777652/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Java多執行緒的實現Java執行緒
- Java多執行緒實現方式Java執行緒
- Java多執行緒【三種實現方法】Java執行緒
- Java高併發與多執行緒(二)-----執行緒的實現方式Java執行緒
- Java實現多執行緒的三種方式Java執行緒
- 使用Java實現多執行緒程式設計Java執行緒程式設計
- Java多執行緒之守護執行緒實戰Java執行緒
- 如何實現多執行緒執行緒
- Java多執行緒-執行緒中止Java執行緒
- 【Java多執行緒】輕鬆搞定Java多執行緒(二)Java執行緒
- Java之實現多執行緒的方式三:實現Callable介面(結合執行緒池使用)Java執行緒
- 多執行緒實現多工二執行緒
- 多執行緒實現多工一執行緒
- Java多執行緒檔案分片下載實現Java執行緒
- Java建立多執行緒的幾種方式實現Java執行緒
- java——多執行緒Java執行緒
- java多執行緒Java執行緒
- Java - 多執行緒Java執行緒
- java 多執行緒Java執行緒
- Java多執行緒之執行緒中止Java執行緒
- Java多執行緒-執行緒狀態Java執行緒
- Java多執行緒-執行緒通訊Java執行緒
- java 多執行緒守護執行緒Java執行緒
- Java多執行緒(2)執行緒鎖Java執行緒
- java多執行緒9:執行緒池Java執行緒
- 【java多執行緒】(二)執行緒停止Java執行緒
- java執行緒實現方式Java執行緒
- Java之實現多執行緒的方式二:實現Runnable介面Java執行緒
- Java多執行緒學習(一)Java多執行緒入門Java執行緒
- 【unity】 Loom實現多執行緒UnityOOM執行緒
- JavaScript如何實現多執行緒?JavaScript執行緒
- Runnable介面實現多執行緒執行緒
- 多執行緒具體實現執行緒
- Java多執行緒並行處理任務的實現Java執行緒並行
- Java多執行緒(一)多執行緒入門篇Java執行緒
- 【Java多執行緒】執行緒安全的集合Java執行緒
- 【Java】【多執行緒】執行緒池簡述Java執行緒
- Java多執行緒-執行緒池的使用Java執行緒