Mac下使用Apache TCPMon


参考链接:

TCPMon Tutorial

Anyone know how to get TCPMON working on a mac?

Apache TCPMon

是一个开源的检查TCP网络数据流的调试工具。TCPMon处在客户端(消费者)和服务器之间,客户端与TCPMon连接,然后TCPMon将数据发送给服务器,并将数据显示到它的客户端显示。

Apache TCPMon 的下载地址:

http://archive.apache.org/dist/ws/tcpmon/1.0/

注意 只是一个与code.google.com上不同的TCPMon

下面是一个坑

如果按照Apache或者网上很多链接里面搜索到的使用方法,在mac下直接运行

	build/tcpmon.sh

然后会得到系统反馈

	-bash: build/tcpmon.sh: Permission denied

即使修改文件权限

	sudo chmod 755 'build/tcpmon.sh'

仍然会得到一个运行错误说找不到“TCPMon”

	Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/ws/commons/tcpmon/TCPMon
Caused by: java.lang.ClassNotFoundException: org.apache.ws.commons.tcpmon.TCPMon
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)

如果尝试通过java运行

	$ java -jar tcpmon-1.0.jar
Failed to load Main-Class manifest attribute from tcpmon-1.0.jar

所以这里的jar包打的有问题,我们需要重新生成这个jar

apache.org上下载tcpmon-1.0.src.zip,然后用Eclipse工程打开重新生成新的jar(我这里用的是JDK7)

第一步

新建一个工程并将src里面的java代码引入

第二步

右件选择项目然后Properties -> Export

第三步

选择Runnable JAR file并生成tcpmon-1.0-fixed.jar

第四步

我们可以双击运行tcpmon-1.0-fixed.jar

坑结束

使用Apache TCPMon

如下图中

  • “Listen Port # 9000”,是客户端连接TCPMon的端口号

      client.setServiceClass(HelloWorld.class);
    client.setAddress("http://localhost:9001/cxf/services/HelloService");
    HelloWorld helloworld = (HelloWorld) client.create();
    System.out.println(helloworld.sayHi("Richard"));
  • “Target Hostname 127.0.0.1”,是本地IP

  • “Target Port # 8080”,通常是本地Tomcat启动端口

Mac下使用Apache TCPMon的更多相关文章

  1. 【高可用HA】Apache (1) —— Mac下安装Apache Httpd到自定义路径(非/etc/apache2)

    Mac下安装Apache Httpd httpd版本: httpd-2.4.17 参考来源: Tomcat Clustering - A Step By Step Guide Apache HTTP ...

  2. mac下为Apache 创建 .htaccess文件

    标签:mac   .htaccess 在设置固定链接时会提示如下的问题:   若您的 .htaccess 文件可写,我们可以自动修改它.但似乎它不可写,因此我们在下方列出了您 .htaccess 文件 ...

  3. Mac下配置Apache Httpd的Https/SSL

    Mac下配置Apache Httpd的Https/SSL httpd版本: httpd-2.4.17 jdk版本: jdk1.8.0_65 参考来源: Mac下安装Apache Httpd Mac O ...

  4. Mac 下搭建 Apache 服务器

    Apache作为最流行的Web服务器端软件之一,它的优点与地位不言而喻.下面介绍下在Mac下搭建Apache服务器的步骤: (1)“前往” –>”个人” (2)在你的个人目录下新建一个文件夹,改 ...

  5. 【高可用HA】Apache (4) —— Mac下配置Apache Httpd负载均衡(Load Balancer)之mod_jk

    Mac下配置Apache Httpd负载均衡(Load Balancer)之mod_jk httpd版本: httpd-2.4.17 jk版本: tomcat-connectors-1.2.41 参考 ...

  6. 【高可用HA】Apache (3) —— Mac下配置Apache Httpd负载均衡(Load Balancer)之mod_proxy

    Mac下配置Apache Httpd负载均衡(Load Balancer)之mod_proxy httpd版本: httpd-2.4.17 参考来源: Apache (1) -- Mac下安装Apac ...

  7. Mac下配置Apache服务

    这篇文章主要是针对Mac用户,第一次搭建本地开发环境的同学,已经搭建过的同学可以忽略. Mac自带的Apache还是XAMPP? That is a question. 其实自带的apache也够用了 ...

  8. Mac下配置apache

    一.前言 今天遇到问题,怎么配置apache在Mac上,原来Mac自带apache,只需要自己开启配置一下就行了. 二.步骤: 1.修改apache的http_conf文件 打开finder前往/pr ...

  9. Mac下PHP+Apache+MySQL环境搭建

    一.启动Apache 有两种方法 1.打开网络共享 打开"系统偏好设置"->"共享",在"互联网共享"那一项前面打√. 2.打开终端, ...

随机推荐

  1. 使用Polly让程序有Retry的机制

    有时候我们需要调用其他API的时候出现暂时连接不通超时的情况,那这时候可以通过Polly进行Retry. 1.从nuget引用polly, 2.定义需要处理的异常有哪些,比如 Policy.Handl ...

  2. NOJ1066-堆排序

    堆排序 时间限制(普通/Java) : 1000 MS/ 3000 MS          运行内存限制 : 65536 KByte总提交 : 414            测试通过 : 220  比 ...

  3. Redis到底该如何利用?【转自:http://www.cnblogs.com/capqueen/p/HowToUseRedis.html】

    Redis是个好东西,经过上两个星期的研究和实践,目前正在项目里大规模的替换掉原来的本地内存cache.但是替换过程中却发现,Redis这东西高端,大气上档次,似乎不是我想象里的使用方法. 在没有深入 ...

  4. 条款7:为多态基类声明virtual析构函数

    C++明确指出:当派生类对象是由一个基类指针释放的,而基类中的析构函数不是虚函数,那么结果是未定义的.其实我们执行时其结果就是:只调用最上层基类的析构函数,派生类及其中间基类的析构函数得不到调用. # ...

  5. Qt之SQL数据库

    ---------------------------- http://blog.csdn.net/reborntercel/article/details/6991147 http://blog.c ...

  6. 38.基于FPGA的FIR设计二

    利用fdatool工具生成的滤波器系数与用代码生成的系数不一致,在网上查询得知,fdatool生成的滤波器系数是有符号小数,而且是浮点型,而代码生成的滤波器系数是定点型有符号数,故不一样. 浮点型数据 ...

  7. sql总结

    sql总结 sql总结 where字句中使用的运算符 定义外键 定义主键 多表联合查询 统计函数 数据类型 sql语句格式 转换函数 null函数 运算符 日期 求某天是星期几 日期天数差 next_ ...

  8. copy-mutableCopy

    copy和mutableCopy语法的目的:改变副本的时候,不会影响到源对象:调用Copy产生的对象是不可变的,调用mutableCopy产生的对象是可变的,与调用对象是否可变无关. Copy 需要先 ...

  9. shell if判断的种类

    if [ $# != 1 ] ; then echo "USAGE: $0 TABNAME" echo " e.g.: $0 CDR_CALL_20040701" ...

  10. Ionic 2 Guide

    Ionic 2 Guide 最近一直没更新博客,业余时间都在翻译Ionic2的文档.之前本来是想写一个入门,后来觉得干脆把官方文档翻译一下算了,因为官方文档就是最好的入门教程.后来越翻译越觉得这个事情 ...