1. 請問,java網路編程中像socket以及多線程這些,哪些地方用到現在工作基本都用框架,感覺即使

網路編程的前景來很不錯的,源隨著移動互聯網的普及與發展,手機應用不斷深入我們生活的方方面面,移動系統和軟體應用的開發領域,成為了未來很具有潛力的行業之一。
在未來5年內,合格軟體人才的需求將遠大於供給。其中,尤以JAVA、PHP、HTML5與CSS3開發、Asp.net開發人才最為缺乏。

2. Java多線程Socket的關閉問題

創建一個新線程時將這個線程對象的引用賦給一個變數:

MyThread thread1 = new MyThread();
MyThread thread2 = new MyThread();
thread1.start();
thread2.start();

在你的線程類中應該提供一個方法,用於關閉這個線程所創建的socket連接。例如你的MyThread類中應該提供一個關閉socket的方法:
public void closeSocket()
{
//這里關閉當前對象的socket
}

這樣,如果你想關閉thread1中的連接(該連接使用8888埠),則只要調用這個方法:

thread1.closeSocket();

3. 通過java中的socket技術編寫能夠回顯客戶端輸入的多線程伺服器端

import java.io.*;
import java.net.*;
public class EchoServer {
public static void main(String[] args) {
new EchoServer().startServer();
}
boolean bstop=false;
public void startServer() {
try {
//創建伺服器,並開放88埠
ServerSocket server=new ServerSocket(88);
System.out.println("服務於88埠\n客戶端發exit/quit結束當前連接;發stop停止伺服器");
while(!bstop){
//監聽伺服器埠,一旦有數據發送過來,那麼就將數據封裝成socket對象
//如果沒有數據發送過來,那麼這時處於線程阻塞狀態,不會向下繼續執行
Socket socket=server.accept();
System.out.println("客戶端信息:"+socket.getRemoteSocketAddress());
new EchoThread(socket).start();
}
} catch (Exception e) {
e.printStackTrace();
}
}

class EchoThread extends Thread{
private Socket socket;
public EchoThread(Socket socket){
this.socket=socket;
}
public void run(){
BufferedReader br=null;
PrintWriter pw=null;
try {
//從socket中得到讀取流,該流中有客戶端發送過來的數據
//InputStreamReader將位元組流轉化為字元流
br=new BufferedReader(new InputStreamReader(socket.getInputStream()));

pw=new PrintWriter(socket.getOutputStream());
pw.println("客戶端發exit/quit結束當前連接;發stop停止伺服器\n");
pw.flush();

String info;
while((info=br.readLine())!=null){//行讀取客戶端數據
System.out.println(info);

pw.println(info);
pw.flush();
if("quit".equals(info) || "exit".equals(info)){
break;

}else if("stop".equals(info)){
bstop=true;
System.exit(0);
break;
}
}

} catch (Exception e) {
e.printStackTrace();
}finally{
try {pw.close();} catch (Exception e) {}
try {br.close();} catch (IOException e) {}
try {socket.close();} catch (IOException e) {}
}
}
}
}

4. 如何用java線程池和socket實現群聊和私聊

這個可以用TCP或者用UDP實現
如果使用TCP,使用SOCKET,伺服器端就是處理轉發數據的,有客戶端新上線,連上SOCKET就分配一個線程,這個很容易實現
如果使用UDP,客戶端上線的時候給伺服器端發一個請求,然後建立連接
不知道你是說的廣播式的還是點對點式的,如果是廣播的很簡單,一個客戶端發了,然後伺服器端建立一個MAP然後遍歷MAP進行轉發就是了,如果是點對點的實現起來有一點點復雜,呵呵,希望對你有幫助哈

5. java多線程socket通信原理是什麼

當Server每接受到一個Client連接請求之後,都把處理流程放到一個獨立的線程里去運行,然後等待下一個Client連接請求,這樣就不會阻塞Server端接收請求了。每個獨立運行的程序在使用完Socket對象之後要將其關閉。這樣就實現了多線程socket通信。

6. java socket編程,兩個socket,多個線程,好比A socket的數據,怎麼發送到B socket埠,一個socket好弄

先有個ServerSocket,監聽鏈接到它上面的所有請求(即accept()函數),accept返回一個Socket對象,你可以保存所有的已經鏈接的Socket對象,然後可以從每個socket找到該鏈接的Address和其他信息(詳見API),根據該地址來選擇性發送數據。

7. 有java serversocket 的多線程程序嘛,接收多客戶端的信息,向多客戶端發送命令

首先來看一下伺服器端的任務: 1.伺服器端應當建立一個ServerSocket,並且由於客戶端需要同時能夠接收信息以及發送信息,所以也必須利用多個線程來實現。

8. java多線程使用一個Sokcet讀取流

可以啊 ,不過需要新建兩個實現Runnable 借口的類,重寫run方法,一個實現讀取,另一個實現輸出的功能。再用兩條線程分別操作這兩個方法。

9. java socket多線程的問題可以多個線程使用同一個socket嗎

可以寫個demo試一下啊,應該是可以的,socket接收到的消息只能被其中一個線程接收。線程1 和2 接受到的肯定不是同一個消息。會有先後之分。看你怎麼控制。比如從接收的消息是ABCD,那麼這相當於一個資源。線程1和2在這里拿消息,拿到之後,socket裡面就少了,比如線程1拿到AB,線程2拿到CD

10. 關於java多線程socket區域網聊天的問題

new serverchat(sockets[num]).run(); 這個可不是多線程的使用方法啊。改為new serverchat(sockets[num]).start();