導航:首頁 > 編程語言 > java高性能socket伺服器

java高性能socket伺服器

發布時間:2021-03-04 00:58:51

1. 請教一下用java和用C實現socket網路通信哪個效率更高高分求,在線等。

肯定C的效率高,java舍掉了一些效率,但是他的優點是跨平台。

2. java編寫socket服務端有什麼優缺點

根據異常提示:"Address already in use : JVM——Bind " 。地址已被綁定,你查看下是否有未關閉的埠9999已被佔用,你應該運行過一次相同埠號的程序,但是未關閉。

3. java、c、c++、php或者其他編程語言,哪種語言做socket伺服器端性能好。

伺服器的核心一般都是C和匯編因為效率高~
外層封裝看哪個支持的資料多用哪個

4. java socket多線程問題,我寫了一個socket tcp服務端,高手來進來看下,謝啦。是關於多客戶端並聯的問題

不對,你應該單獨寫個一個處理線程類,如果需要的連接就new一下,因為每次new一下,專線程的名字都不一樣,但屬如果後期要用到銷毀的時候,最好寫一個hasMap存儲這些線程,當下線時,就根據values來銷毀或遍歷一下hasMap,獲取到線程的名字,然後就destroy();
韓順平java視頻教程里的qq項目里有詳細的解說!

5. 編寫高性能Java伺服器,應該選用何種方案

所謂的高性能其實都是和業務緊密相關的,比如處理時間長短,長鏈接還是短鏈接,內連接的數量等。容
根據業務特性來選擇是否用BIO或者NIO,比如NIO擅長處理的是海量連接。
另外java.util.concurrent的線程池模型還是java.nio中的Selector模型,這兩者並不沖突,況且這兩者解決的問題是不一樣的。線程池模型解決的是連接創建的消耗問題,Selector模型解決的是IO復用等問題。。

6. 用java寫一個socket的伺服器在電腦上運行

理論上可以,同在一個區域網,

7. java Socket編程實現的最簡單的多線程Web伺服器

import java.io.PrintWriter;
import java.net.ServerSocket;
import java.net.Socket;

public class Test {
public static void main(String[] args) throws Exception {
ServerSocket server = new ServerSocket(888);
while(true) {
Socket s = server.accept();
Processer p = new Processer(s);
Thread t = new Thread(p);
t.start();
}
}
}

class Processer implements Runnable {
private Socket socket;

public Processer(Socket s) {
// TODO Auto-generated constructor stub
this.socket = s;
}
@Override
public void run() {
try {
PrintWriter out=new PrintWriter(socket.getOutputStream(),true);
out.println("HTTP/1.0 200 OK");
out.println("Content-Type:text/html;charset=utf-8");
out.println();
out.println("<h1> Web伺服器測試成功!</h1>");
out.close();
} catch(Exception ex) {
ex.printStackTrace();
} finally {
try {
socket.close();
} catch (Exception e) {
e.printStackTrace();
}
}

}
}

8. 關於JAVA非阻塞SOCKET伺服器寫一個對戰游戲伺服器的實例。

直接用數組或者集合來保存。
服務端socket在線程中等待連接,一旦獲取到連接就保存返回的socket句柄,啟動一個新的線程來從socket中讀取消息。

9. 求java寫的多線程socket埠監聽伺服器端程序,要代界面的.

業務需要這么復雜嗎???如果你要實現伺服器和客戶端都可以向對方發送消息,而不等待對方應答,只需要把InputStream和OutputStream分別放在兩個不同線程里就行了,即是說把接收流與發送流分別用一個線程監聽處理。如果要實現不分客戶端伺服器的話,用UDP通信即可
補充回答:如果不涉及到MIME,只是收發簡單文本郵件。就會比較簡單。因為就像你說的,smtp和pop3協議就是文本格式的。你用Socket建立連接後,就像讀文件一樣,一行一行的讀數據,然後按照協議分析數據格式。例如如果開始時USER那麼後面可能跟的就是用戶等。
就是一個字元串解析和匹配的過程。網上好像有這類代碼,自己找一個學習一下。我以前用C在68k上作過,不是很難。不過代碼已經沒有了。

你的是郵件客戶端,功能類似於outlook,foxmail等,如果你能上網,就不需要郵件伺服器,直接用自己的郵件賬號來測試,例如如果你有一個sina的郵件賬戶,就可以從sina伺服器收發郵件。
不過為了測試方便,還是上網去收一個郵件伺服器把。例如foxmail server等。網上有教程,可以配置好的。

對於編程,既然要求用socket編寫,那麼就要熟悉java的socket編程,這部分倒是很簡單。可能還需要看看多線程部分。

另外,你需要學習一下, smtp和pop3這兩個網路協議的內容,因為你需要解析這兩個協議。如果需要收發代附件的,還需要看mime的內容,不過估計不需要。

其實java有自己的類庫javamail,可以實現手法郵件,功能很強大。不過既然要求必須用socket,那就不能這個了。

說的太羅嗦了。總結一下:
1)配置郵件伺服器,搭建測試環境
2)熟悉java的socket編程、 Swing編程(編寫界面)、多線程(選用)
3)熟悉smtp和pop3的內容(內容很多,了解基本的就可以)
網上應該有類似代碼,可以用來參考。

10. java的客戶端用的是Socket,伺服器端用SocketChannel,這兩種能實現通信么 說得比較白,望理解

Socket 和ServerSocke 是一對 他們是java.net下面實現socket通信的類
SocketChannel 和ServerSocketChannel是一對 他們是java.nio下面實現通信的類 支持非同步通信

伺服器回必須先建答立ServerSocket或者ServerSocketChannel 來等待客戶端的連接
客戶端必須建立相對應的Socket或者SocketChannel來與伺服器建立連接
伺服器接受到客戶端的連接受,再生成一個Socket或者SocketChannel與此客戶端通信

不過Socket和SocketChannel可以通過 socket.channel() SocketChannel.socket() 方法相互轉換
同理ServerSocket 和ServerSocketChannel 也可以相互轉換

閱讀全文

與java高性能socket伺服器相關的資料

熱點內容
美國戰斗機電影大全 瀏覽:783
主角穿越電影世界,第一個世界是超能失控 瀏覽:477
大胸的日本電影 瀏覽:965
桌面的網路圖標不見了怎麼辦 瀏覽:86
電影下載免費網站推薦 瀏覽:424
《穿越成武大郎》小說 瀏覽:497
店標文件格式 瀏覽:530
為什麼美團外賣app登不上去 瀏覽:75
壞小孩小說txt下載 瀏覽:144
訂飯的app有哪些 瀏覽:29
推薦幾個可以看片的網址你懂的 瀏覽:667
勵志小說網站哪個好 瀏覽:667
asp lfz385 瀏覽:837
看過一部片裡面有吃人族 瀏覽:931
可以下載的成年人免費電影網址 瀏覽:790
蘋果5s屏蔽升級提醒 瀏覽:225
理論片愛愛 瀏覽:48
外國電影倆小孩與父親的故事 瀏覽:359
我叫王剛從泰國回來電影名 瀏覽:90

友情鏈接