導航:首頁 > 編程語言 > java獲取socket請求

java獲取socket請求

發布時間:2021-02-23 17:03:17

『壹』 java怎麼接收TCP/IP請求,只有socket那種方法嗎

還有ACE,不過很少用

『貳』 Java Web項目怎麼監聽socket請求

不知道具體需求是什麼。如果用java web作為服務端,那可以在web項目啟動的時候,增加socket監聽服務。在web項目的listener增加啟動類。
或者乾脆使用如netty這樣的IO框架。

『叄』 用JAVA寫一個SOCKET 接收TCP發來的消息

public class TalkServer{

static void main(String args[]) {

try{

ServerSocket server=null;

try{

server=new ServerSocket(4700);

//創建一個ServerSocket在埠4700監聽客戶請求

}catch(Exception e) {

System.out.println("can not listen to:"+e);

//出錯,列印出錯信息

}

Socket socket=null;

try{

socket=server.accept();

//使用accept()阻塞等待客戶請求,有客戶

//請求到來則產生一個Socket對象,並繼續執行

}catch(Exception e) {

System.out.println("Error."+e);

//出錯,列印出錯信息

}

String line;

BufferedReader is=new BufferedReader(new InputStreamReader(socket.getInputStream()));

//由Socket對象得到輸入流,並構造相應的BufferedReader對象

PrintWriter os=newPrintWriter(socket.getOutputStream());

//由Socket對象得到輸出流,並構造PrintWriter對象

BufferedReader sin=new BufferedReader(new InputStreamReader(System.in));

//由系統標准輸入設備構造BufferedReader對象

System.out.println("Client:"+is.readLine());

//在標准輸出上列印從客戶端讀入的字元串

line=sin.readLine();

//從標准輸入讀入一字元串

while(!line.equals("bye")){

//如果該字元串為 "bye",則停止循環

os.println(line);

//向客戶端輸出該字元串

os.flush();

//刷新輸出流,使Client馬上收到該字元串

System.out.println("Server:"+line);

//在系統標准輸出上列印讀入的字元串

System.out.println("Client:"+is.readLine());

//從Client讀入一字元串,並列印到標准輸出上

line=sin.readLine();

//從系統標准輸入讀入一字元串

} //繼續循環

os.close(); //關閉Socket輸出流

is.close(); //關閉Socket輸入流

socket.close(); //關閉Socket

server.close(); //關閉ServerSocket

}catch(Exception e){

System.out.println("Error:"+e);

//出錯,列印出錯信息

}

}

}

『肆』 java Socket 長連接後,如何獲取發來的數據

用一個死循環等著socket傳數據過來,接一次數據循環一次,沒有接到數據時,就是自動等待了。

『伍』 java:ServerSocket中獲取所有連接上的Socket

可以的。
首先確保你已經建立了(對象名字是server),並接受到了連接:
ArrayList<Socket > sockets = new ArrayList<Socket>(); //保存所有接受的socket
while(true){ //一直接受連接
Socket s = server.accept();

sockets.add(s);

}

///得到仍處於連接當中的Socket
public ArrayList<Socket > getConnectedSockets(){
ArrayList<Socket > alivedSockets = new ArrayList<Socket>();

for(int i=0;i<sockets.size();i++){

if(sockets.get(i).isConnected()){
alivedSockets .add(sockets.get(i));

}

}

return alivedSockets;
}

『陸』 Java:這種是如何請求Socket的,第一次見

您好,一、建立伺服器類
Java中有一個專門用來建立Socket伺服器的類,名叫,可以用伺服器需要使用的埠號作為參數來創建伺服器對象。
ServerSocket server = new ServerSocket(9998)
這條語句創建了一個伺服器對象,這個伺服器使用9998號埠即在埠9998上注冊服務,這里稍微要注意的是埠的分配必須是唯一的。因為埠是為了唯一標識每台計算機唯一服務的,另外埠號是從0~65535之間的,前1024個埠已經被Tcp/Ip 作為保留埠,因此你所分配的埠只能是1024個之後的。當一個客戶端程序建立一個Socket連接,所連接的埠號為9998時,伺服器對象server便響應這個連接,並且server.accept()()方法會創建一個Socket對象。伺服器端便可以利用這個Socket對象與客戶進行通訊。
Socket incoming = server.accept()() ; // 監聽窗口,等待連接
進而得到輸入流和輸出流,並進行封裝
BufferedReader in = new BufferedReader(new
InputStreamReader(incoming.getInputStream()));

/*

當讀取文件時,先把內容讀到緩存中,當調用in.readLine()時,再從緩存中以字元的方式讀取數據(以下簡稱「緩存位元組讀取方式」)。

*/

PrintWriter ut = new PrintWriter(incoming.getOutputStream(),true);

隨後,就可以使用in.readLine()方法得到客戶端的輸入,也可以使用out.println()方法向客戶端發送數據。從而可以根據程序的需要對客戶端的不同請求進行回應。

在所有通訊結束以後應該關閉這兩個數據流,關閉的順序是先關閉輸出流,再關閉輸入流,即使用

out.close();

in.close();
二、建立客戶端代碼
相比伺服器端,客戶端要簡單一些,客戶端只需用伺服器所在機器的ip以及伺服器的埠作為參數創建一個Socket對象。得到這個對象後,就可以用"建立伺服器"部分介紹的方法實現數據的輸入和輸出。
Socket socket = new Socket("168.160.12.42",9998);
或:
Socket socket = new Socket(InetAddress.getLocalHost(),5678); // 向主機名為InetAddress.getLocalHost()的伺服器申請連接
客戶機必須知道有關伺服器的IP地址,對於著一點Java也提供了一個相關的類InetAddress 該對象的實例必須通過它的靜態方法來提供,它的靜態方法主要提供了得到本機IP 和通過名字或IP直接得到InetAddress的方法。
in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
out = new PrintWriter(socket.getOutputStream(),true);
以上的程序代碼建立了一個Socket對象,這個對象連接到ip地址為168.160.12.42的主機上、埠為9998的伺服器對象。並且建立了輸入流和輸出流,分別對應伺服器的輸出和客戶端的寫入。

『柒』 java 如何從收到的socket中取得IP

首先知道socket類的對象的引用,然後調用該類的方法getInetAddress()就能夠獲取收到的socket對象的IP地址了。

『捌』 java 怎麼獲得socket流

public class Server {

public static void main(String args[]) throws IOException {
//為了簡單起見,所有的異常信息都往外拋
int port = 8899;
//定義一個ServerSocket監聽在埠8899上
ServerSocket server = new ServerSocket(port);
//server嘗試接收其他Socket的連接請求,server的accept方法是阻塞式的
Socket socket = server.accept();
//跟客戶端建立好連接之後,我們就可以獲取socket的InputStream,並從中讀取客戶端發過來的信息了。
Reader reader = new InputStreamReader(socket.getInputStream());
char chars[] = new char[64];
int len;
StringBuilder sb = new StringBuilder();
while ((len=reader.read(chars)) != -1) {
sb.append(new String(chars, 0, len));
}
System.out.println("from client: " + sb);
reader.close();
socket.close();
server.close();
}

}

『玖』 Java中伺服器端ServerSocket對象怎麼獲取伺服器端地址和埠號,怎麼獲取遠程請求的

ServerSocket s = new ServerSocket(8888);
while (true) {
// 建立連接
Socket socket = s.accept();

/ /getInetAddress()獲取遠程ip地址,getPort()遠程客戶端的斷後好
"你好,客戶端地專址信息: " + socket.getInetAddress() + "\t客戶端通信埠號屬: " + socket.getPort()

『拾』 JAVA Socket post請求方式

建議自己去讀下HTTP協議 POST 後邊是 頁面地址?參數字元串 ,只見到你的內參數字元串了,要提交到哪個地址容完全不知啊。而且翻譯的內容也並不是POST到翻譯頁面的,而是頁面通過ajax POST到網路翻譯介面的。直接訪問網路翻譯介面地址就行,網路翻譯頁面也是通過這個介面地址的。
http://fanyi..com/v2transapi

如果你了解HTTP協議或者想學習HTTP協議 你可以通過socket 或者 telnet來訪問頁面,如果你只是要功能的話,還是去用HTTPClient或者HttpURLConnection吧,畢竟省去不少代碼。

閱讀全文

與java獲取socket請求相關的資料

熱點內容
安卓44如何隱藏文件夾 瀏覽:92
sr100怎麼編程序 瀏覽:795
蘋果手機怎樣保存信息 瀏覽:379
安卓patch是什麼文件 瀏覽:819
2003word審閱 瀏覽:387
手機時間查找新文件 瀏覽:695
資料庫管理員怎麼入行 瀏覽:852
安卓nba2k17修改能力 瀏覽:868
win10設置nsf文件共享 瀏覽:445
同一個網站怎麼發文章 瀏覽:725
蘋果翻蓋手機多少錢 瀏覽:815
flash80金鷹教程 瀏覽:374
怎麼把美國的app賬號換成中國的 瀏覽:375
貸款60秒app 瀏覽:408
捷安特騎行app有什麼獎勵 瀏覽:542
網站圖片展示代碼 瀏覽:167
asp找回密碼 瀏覽:836
如何知道別人使用我的電腦和看了什麼文件 瀏覽:712
prcs4視頻導出後找不到文件 瀏覽:977
msp430系列單片機實用c語言程序設計 瀏覽:423

友情鏈接