java 监听本地端口_Java-在本地端口上侦听RTP数据包
因此,我目前正在開發一個客戶端應用程序,該應用程序在端口5004上偵聽RTP數據包.由于可能有多個服務器發送RTP數據包,因此我無法使用套接字連接到特定的遠程主機.相反,我嘗試了以下方法來偵聽本地端口:
Socket socket = new Socket("127.0.0.1", 5004);
Socket socket = new Socket("localhost", 5004);
Socket socket = new Socket(InetAddress.getByName("localhost"), 5004);
Socket socket = new Socket(InetAddress.getLocalHost(), 5004);
以上任何一種都會給我這個例外:
java.net.ConnectException: Connection refused: connect
我也嘗試過使用DatagramSocket,但是DatagramPackets要求我指定要讀取的數據包的大小.
總而言之,我需要找到一種方法在本地端口5004上偵聽未知大小的RTP數據包,而無需連接到特定的遠程主機/地址.任何幫助是極大的贊賞!
編輯:
現在,我已經設置了一個ServerSocket來監聽連接,但是我仍然無法讀取任何數據包.
try { ServerSocket server = new ServerSocket(5004);
Socket s = server.accept();
BufferedReader rtpReader = new BufferedReader(new InputStreamReader(s.getInputStream()));
while (true){
int k = rtpReader.read();
if (k == -1) break;
System.out.println(k);
}
}
注意:RTP數據包通過組播地址發送.
問題出在多播.請參閱尼古拉的答案.非常感謝!
總結
以上是生活随笔為你收集整理的java 监听本地端口_Java-在本地端口上侦听RTP数据包的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mathchk.exe是什么进程 有什么
- 下一篇: 市场上的指数基金都有哪些种类?各类指数是