一个关于端口监听程序的问题

shanghonglei 2009-03-29 08:08:30
我想用Java做一个端口监听程序
当有客户端通过这个端口访问主机时,记录下客户端的ip地址,同时把客户端的ip地址和访问的时间写在一个文件中
我在网上搜了一下,说是用socket()函数,我在这方面不太熟悉
希望给为给点意见
谢谢!!!!
...全文
165 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
shanghonglei 2009-03-31
  • 打赏
  • 举报
回复
zoutuo 2009-03-30
  • 打赏
  • 举报
回复
奇怪,我只点了一次提交,怎么出来两个帖子?
zoutuo 2009-03-30
  • 打赏
  • 举报
回复
socket能够实现。
服务器端:
  int PORT = 8888; // 侦听端口
  // 创建ServerSocket
  ServerSocket serverSocket = new ServerSocket(PORT);
  // 开始循环
  while (true) {
  // 等待连接
  socket = serverSocket.accept();
  // 处理链接的线程类
  ServerThread st = new ServerThread(socket);
  // 启动线程处理
  new Thread(st).start();
  }

客户端:

int PORT = 8888; // 侦听端口
  // 建立连接
  socket = new Socket(“127.0.0.1”, 8888);
  // 输入数据的读取
  BufferedReader netIn = new BufferedReader(new InputStreamReader(socket.getInputStream()));
  // 写入数据
  PrintWriter netOut = new PrintWriter(socket.getOutputStream());


自己加上上面的获取IP就可以了。
zoutuo 2009-03-30
  • 打赏
  • 举报
回复
socket能够实现。
服务器端:
  int PORT = 8888; // 侦听端口
  // 创建ServerSocket
  ServerSocket serverSocket = new ServerSocket(PORT);
  // 开始循环
  while (true) {
  // 等待连接
  socket = serverSocket.accept();
  // 处理链接的线程类
  ServerThread st = new ServerThread(socket);
  // 启动线程处理
  new Thread(st).start();
  }

客户端:

int PORT = 8888; // 侦听端口
  // 建立连接
  socket = new Socket(“127.0.0.1”, 8888);
  // 输入数据的读取
  BufferedReader netIn = new BufferedReader(new InputStreamReader(socket.getInputStream()));
  // 写入数据
  PrintWriter netOut = new PrintWriter(socket.getOutputStream());


自己加上上面的获取IP就可以了。
shanghonglei 2009-03-30
  • 打赏
  • 举报
回复
更多意见,谢谢!!!!
shanghonglei 2009-03-30
  • 打赏
  • 举报
回复
我想用Java做一个端口监听程序
当有客户端通过这个端口访问主机时,记录下客户端的ip地址,只需要记录下客户端的ip就可以了,不需由这个程序向客户端发送数据,同时把客户端的ip地址和访问的时间写在一个文件中

希望各位给点意见
谢谢!!!!
shanghonglei 2009-03-30
  • 打赏
  • 举报
回复
帮顶
palm_civet 2009-03-29
  • 打赏
  • 举报
回复
你还是好好看看java基础吧
xiguagege 2009-03-29
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 a276202460 的回复:]
ServerSocket s = ServerSocket(100) 打开100端口 s.getInputStream()可以获取到访问中广核端口的数据情况
[/Quote]

s.getInetAddress();
返回值是Inetaddress不是纯粹的IP地址,是比IP地址要要强的地址

----下面是JAVA技术文档提供的内容------
InetAddress getInetAddress()
Returns the address to which the socket is connected.
shanghonglei 2009-03-29
  • 打赏
  • 举报
回复
怎样获取客户端的ip呢????
shanghonglei 2009-03-29
  • 打赏
  • 举报
回复
可不可以详细一点
我是菜鸟!!!
一洽客服系统 2009-03-29
  • 打赏
  • 举报
回复
ServerSocket s = ServerSocket(100) 打开100端口 s.getInputStream()可以获取到访问中广核端口的数据情况

67,516

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧