java实现网络监听

Java实现网络监听

import java.net.*;
import java.io.*;

public class tcpServer {

    public static void main(String args[]) {

    int port;
    ServerSocket server_socket;
    BufferedReader input;
   try {
      port = Integer.parseInt(args[0]);
    }
    catch (Exception e) {
       System.out.println("port = 1500 (default)");
       port = 1500;
}

   try {
      server_socket = new ServerSocket(port);
      System.out.println("Server waiting for client on port " +
          server_socket.getLocalPort());
    // server infinite loop
    while(true) {
      Socket socket = server_socket.accept();
      System.out.println("New connection accepted " +
        socket.getInetAddress() +
        ":" + socket.getPort());
  input = new BufferedReader(new InputStreamReader(socket.getInputStream()));
  // print received data
  try {
      while(true) {
        String message = input.readLine();
       if (message==null) break;
       System.out.println(message);
      }
  }
  catch (IOException e) {
      System.out.println(e);
  }

  // connection closed by client
  try {
      socket.close();
      System.out.println("Connection closed by client");
  }
  catch (IOException e) {
      System.out.println(e);
     }
  }
}
  catch (IOException e) {
    System.out.println(e);
    }
  }
}

import java.net.*;
import java.io.*;

public class tcpClient {

    public static void main(String[] args) {

   int port = 1500;
   String server = "localhost";
   Socket socket = null;
   String lineToBeSent;
   BufferedReader input;
   PrintWriter output;
   int ERROR = 1;

  // read arguments
  if(args.length == 2) {
      server = args[0];
      try {
        port = Integer.parseInt(args[1]);
       }
      catch (Exception e) {
     System.out.println("server port = 1000 (default)");
      port = 1500;
    }
}

// connect to server
try {
    socket = new Socket(server, port);
    System.out.println("Connected with server " +
      socket.getInetAddress() +
      ":" + socket.getPort());
}
catch (UnknownHostException e) {
    System.out.println(e);
    System.exit(ERROR);
}
catch (IOException e) {
    System.out.println(e);
    System.exit(ERROR);
}

try {
    input = new BufferedReader(new InputStreamReader(System.in));
    output = new PrintWriter(socket.getOutputStream(),true);

    // get user input and transmit it to server
    while(true) {
  lineToBeSent = input.readLine();
  // stop if input line is "."
  if(lineToBeSent.equals(".")) break;
  output.println(lineToBeSent);
    }
}
catch (IOException e) {
    System.out.println(e);
}

try {
    socket.close();
}
catch (IOException e) {
    System.out.println(e);
     }
   }
} 
时间: 2024-08-13 13:52:45

java实现网络监听的相关文章

IOS开发—网络监听

网络监听用到的类为Reachability.h,这个Xcode项目里面是不自带的,需要从github上面下载,在使用的时候记着导入SystemConfiguration.framework. 首先是在AppDelegate.m中设置网络监听 [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(reachabilityChanged:) name:kReachabilityChangedNotifica

高大上的“网络监听”,其实你也能做!

出来工作一年了,回忆大学那时,我所在专业里有一位大神级人物,他每天都和我们聊一下很“美丽”的事物.他最经常喜欢所得一句话,“一切事物都可以用01表示出来”.那时的他,很喜欢分享,很喜欢去研究一些高大上的问题,数学是他的强项.那时,我们桂林高校的五子棋大赛,他拿了冠军,证明了自己,并不是一个只会说不会做的人.其实我对他还是很有好感的,不过由于各种原因吧,我们交往并不算太深.还记得的那些夜晚,学习和生活上遇到很多困惑,经常很他一起聊到11点半,讨论各种奇怪的事情.从那开始,我就渐渐地更喜欢写程序啦.

iOS:Reachability网络监听

iOS利用Reachability确认网络环境3G/WIFI 开发Web等网络应用程序的时候,需要确认网络环境,连接情况等信息.如果没有处理它们,是不会通过Apple的审查的. Apple 的 例程 Reachability 中介绍了取得/检测网络状态的方法.在你的程序中使用 Reachability 只须将该例程中的 Reachability.h 和 Reachability.m 拷贝到你的工程中.如下图: 我们来看看Reachability.h文件中的具体内容: #import <Found

网络监听原理(局域网数据窃听)

在网络中,当信息进行传播的时候,可以利用工具,将网络接口设置在监听的模式,便可将网络中正在传播的信息截获或者捕获到,从而进行攻击.网络监听在网络中的任何一个位置模式下都可实施进行.而黑客一般都是利用网络监听来截取用户口令.比如当有人占领了一台主机之后,那么他要再想将战果扩大到这个主机所在的整个局域网话,监听往往是他们选择的捷径.很多时候我在各类安全论坛上看到一些初学的爱好者,在他们认为如果占领了某主机之后那么想进入它的内部网应该是很简单的.其实非也,进入了某主机再想转入它的内部网络里的其它机器也

iOS手机信号网络监听

//设置网络监听 - (void)monitorNetworking { //监听网络状态 AFNetworkReachabilityManager *manager = [AFNetworkReachabilityManager sharedManager]; //显然是枚举值 /* typedef NS_ENUM(NSInteger, AFNetworkReachabilityStatus) { AFNetworkReachabilityStatusUnknown = -1,//未识别的网络

转:网络监听原理

网络监听是指利用计算机的网络接口截获目的地为第三方计算机的数据报文的一种技术.利用这种技术可以监听网络的当前流量状况:网络程序的运行以及非法窃取网络中传输的机密信息. 在共享式以太网中,所有的通讯都是广播的,也就是说通常在同一网段的所有网络接口都可以访问在物理媒体上传输的所有数据,使用ARP和RARP协议进行相互转换.在正常的情况下,一个网络接口应该只响应两种数据帧:与自己硬件地址相匹配的数据帧和发向所有机器的广播数据帧.在一个实际的系统中,数据的收发由网卡来完成.每个以太网卡拥有一个全球难一的

解决网络监听多次发送广播的问题

有时候我们需要写一个程序来监听网络的变化,以实现即时刷新的问题,比如微信或者QQ都有自动重连的功能.单纯的用广播接收和ConnectivityManager难以实现,因为每次我们切换g网和wifi或者启用一个网络,系统都会发送多次网络变化的广播,如果我们把业务逻辑放在广播接收器里面处理,就会不必要的调用多次.比如当我们启动wifi时,系统将发送多次广播,当我们判断是否有网络连接的时候,会多次判断有网络(如果刚刚启动数据流量或者wifi).这样里面的代码就会重复执行.想了各种办法,最终想到的解决方

oracle网络 监听

这里讲解一下我对oracle网络的理解(静态监听): 监听的工作原理: 监听说白了,就是个套接字+PROTOCOL(协议) 套接字是通信的基石,是支持TCP/IP协议网络通信的基本单元.可以将套接字看作不同主机 之间的进程双向通信的端点. 一个完整的网络通讯必须具备协议.本地地址.本地端口.远程地址.远程端口和协议这5个基本要素,在创建套接字时确定了协议类型,而在绑定套接字确定了本地地址和本地端口,远程地址和远程端口.套接字即就是ip+port . 1.数据库启动起来之后(数据文件.控制文件.日

Oracle的网络监听配置

listener.ora.tnsnames.ora和sqlnet.ora这3个文件是关系oracle网络配置的3个主要文件,都是放在$ORACLE_HOME\network\admin目录下.其中listener.ora是和数据库服务器端相关,而tnsnames.ora和sqlnet.ora这2个文件不仅仅关系到服务器端,主要的还是和客户端关系紧密. 一.客户端设置1.sqlnet.ora通过这个文件来决定怎样找一个连接中出现的连接字符串orclSQL>conn sys/[email prote