Ⅰ kafka java 通過url連接伺服器
可以連接到一個網路伺服器並且能夠從這個伺服器下載指定的URL,程序中直接使用HTTP協議。程序將定義一個輸出流,下載的URL的內容將來被寫入這個流,通過socket來獲得輸入和輸出流:
view sourceprint?
01 import java.io.*;
02 import java.net.*;
03 public class HttpClient {
04 public static void main(String[] args) {
05 try {
06 // Demo參數:
07 if ((args.length != 1) && (args.length != 2))
08 throw new IllegalArgumentException("Wrong number of args");
09 //定義輸出流,下載的URL內容被寫入這個流
10 OutputStream to_file;
11 if (args.length == 2) to_file = new FileOutputStream(args[1]);
12 else to_file = System.out;
13 //使用URL類來把用戶指定的URL解析成幾個部分
14 URL url = new URL(args[0]);
15 String protocol = url.getProtocol();
16 if (!protocol.equals("http")) // 檢驗是否滿足支持的協議
17 throw new IllegalArgumentException("Must use 'http:' protocol");
18 String host = url.getHost();
19 int port = url.getPort();
20 if (port == -1) port = 80; //如果沒有指定埠,用默認埠
21 String filename = url.getFile();
22 // 打開一個連接到指定主機和埠的網路socket連接
23 Socket socket = new Socket(host, port);
24 // 通過socket來獲得輸入和輸出流
25 InputStream from_server = socket.getInputStream();
26 PrintWriter to_server = new PrintWriter(socket.getOutputStream());
27
28 // 發送HTTP GET命令給網路伺服器,指定要下載的文件
29 // 使用了一個老版本非常簡單的HTTP協議
30 to_server.print("GET " + filename + "\n\n");
31 to_server.flush(); // 立即發送
32 // 現在讀取伺服器的響應,把接收到的內容寫入文件
33 byte[] buffer = new byte[4096];
34 int bytes_read;
35 while((bytes_read = from_server.read(buffer)) != -1)
36 to_file.write(buffer, 0, bytes_read);
37 // 當伺服器關閉連接時,也關閉stuff
38 socket.close();
39 to_file.close();
40 }
41 catch (Exception e) { // 發布錯誤
42 System.err.println(e);
43 System.err.println("Usage: java HttpClient <URL> [<filename>]");
44 }
45 }
46 }
Ⅱ 本地java項目如何連接阿里雲伺服器上的mysql
首先您需要保證您本地Java項目是可以聯網的,然後在mysql的連接中輸入阿里雲伺服器的地址以及資料庫名和密碼就行。
Ⅲ 自己在java建了伺服器別人怎麼進來伺服器呢
在Java中創建了一個伺服器之後,要讓其他人能夠訪問該伺服器,通常涉及以下幾個步驟:
確保伺服器已啟動並監聽:
使用Java編寫的網路伺服器,如之前提到的,通常使用ServerSocket來監聽特定的埠。例如,ServerSocket serverSocket = new ServerSocket(8080);這行代碼將伺服器綁定到8080埠上。確保伺服器正在運行並且正在監聽該埠。
告知其他人伺服器的地址和埠:
為了讓其他人能夠連接到你的伺服器,你需要告訴他們伺服器的IP地址和監聽的埠號。例如,如果你的伺服器在本地計算機上運行,並且你有一個公共的IP地址(或者你可以通過路由器進行埠轉發),其他人就可以使用你的公共IP地址和埠號(如your_public_ip:8080)來嘗試連接到你的伺服器。
處理客戶端連接:
在伺服器端,你需要使用ServerSocket的accept()方法來等待客戶端的連接。當客戶端嘗試連接時,accept()方法將返回一個Socket對象,你可以使用這個對象與客戶端進行通信。
確保網路設置允許外部連接:
如果你的伺服器運行在一個私有的網路環境中(如家庭網路或公司內部網路),你可能需要配置路由器或防火牆來允許外部連接。這通常涉及到埠轉發,即將外部連接轉發到你的伺服器所在的內部IP地址和埠上。
處理客戶端請求和響應:
一旦客戶端連接上伺服器,你就可以通過Socket對象發送和接收數據了。你需要編寫代碼來處理客戶端的請求,並生成適當的響應。
測試連接:
在將伺服器的地址和埠告訴其他人之前,最好先自己測試一下連接是否正常。你可以使用telnet或其他網路工具來嘗試連接到你的伺服器,並檢查是否能夠成功建立連接和發送/接收數據。
Ⅳ java中客戶端用socket連接上服務端之後一直沒有斷開,不定時給服務端發送數據,伺服器端如何知道
如果是一對一的話,不要用到線程,相當於一個1對1的聊天。主要是這,你看下
try{t.setText("服務端開啟,等待客戶端連接");
ss=new ServerSocket(50000);
}catch(IOException e){
System.err.println("無法在50000埠建立監聽服務");
System.exit(1);
}
try{ s=ss.accept();
fstart=true;
t.append("\n和來自"+s.getInetAddress()+"客戶端連接成功!\n");
t.append("\n你現在可以通信了");
dis=new DataInputStream(s.getInputStream());
kehu[1]=dis.readUTF();
}catch(IOException e){
System.err.println("和客戶端建立服務失敗");
System.exit(1);
}
try{
while(true){
dis=new DataInputStream(s.getInputStream());
dos=new DataOutputStream(s.getOutputStream());
t.append("\n客戶端1:"+dis.readUTF());
}
}catch(IOException e){
}
}