
正文
java端口监听代码 java 监听端口获取数据
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
如何用JAVA代码监听某个开放端口
使用jpcap,java的截包工具。可以截取主机上某个端口的数据包。在主机上安装邮件服务器,然后监听截取25端口数据并解析,提取有用数据。
相关问答
Q1: 在套头字编程中,服务器方需用到java类什么来监听端口
可以参考一下这段代码
//1. 构造ServerSocket实例,指定服务端口。
ServerSocket servSock = new ServerSocket(servPort);
while(true)
{
// 2.调用accept方法,建立和客户端的连接
Socket clntSock = servSock.accept();
SocketAddress clientAddress =
clntSock.getRemoteSocketAddress();
System.out.println("Handling client at " + clientAddress);
// 3. 获取连接的InputStream,OutputStream来进行数据读写
InputStream in = clntSock.getInputStream();
OutputStream out = clntSock.getOutputStream();
while((recvMsgSize = in.read(receiveBuf)) != -1)
{
out.write(receiveBuf, 0, recvMsgSize);
}
// 4.操作结束,关闭socket.
clntSock.close();
}
Q2: JAVA被占用端口的监听
1.调用系统命令, netstat -ano| grep 端口号(linux)如果有记录则说明该端口被占用。
2.试图建立该端口号java端口监听代码的socket链接。如果返回端口已绑定的错误,就说明被占java端口监听代码了。
Q3: 求JAVA的监听5038端口的代码。。。
服务端:
package com.socket;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.ServerSocket;
import java.net.Socket;
public class Server {
public static void main(String[] args) throws IOException {
ServerSocket server = null;
Socket socket = null;
try {
server = new ServerSocket(5038);
while(true){
System.out.println("正在监听...");
if((socket = server.accept()) != null){
System.out.println("接收到一个请求"+ socket.getRemoteSocketAddress());
new Thread(new OperThread(socket)).start();
}
}
} catch (IOException e) {
System.out.println("waiting");
}
if(!socket.isConnected()){
socket.close();
server.close();
}
}
}
class OperThread implements Runnable{
Socket socket = null;
BufferedReader br = null;
public OperThread(Socket socket) throws IOException {
this.socket = socket;
br = new BufferedReader(new InputStreamReader(socket.getInputStream()));
}
@Override
public void run() {
try {
String s = null;
while( (s = br.readLine()) != null){
System.out.println(s);
}
} catch (IOException e) {
e.printStackTrace();
} finally{
try {
br.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
客户端:
package com.socket;
import java.io.IOException;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.net.Socket;
import java.util.Scanner;
public class Client {
public static void main(String[] args) throws IOException {
Socket socket = null;
PrintWriter pw = null;
Scanner scanner = new Scanner(System.in);
try {
socket = new Socket("127.0.0.1",5038);
pw = new PrintWriter(new OutputStreamWriter(socket.getOutputStream()));
String s = null;
while((s = scanner.nextLine()) != null){
pw.println(s);
pw.flush();
}
} catch (Exception e) {
System.out.println("\nconnect error");
}finally{
if(pw != null){
pw.close();
}
try {
if(socket != null){
socket.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
先开服务端,再开客户端。
Q4: java多端口监听
序调用的这些端口(有些恶意程序可随意改变端口功能滴),可以尝试着把所用的应用程序和网页都关掉然后再看一下端口的情况怎样。最后如果楼主以后想要做一些“小实验”或带有一些危险性的小动作的话,推荐楼主还是考虑在虚拟机下先实验一下真正摸清弄明白了再在自己机器上HAPPY!!~~
(虚拟机主要有vmware 及微软的virtualpc等,都挺好用!~~)
关于java端口监听代码和java 监听端口获取数据的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。





