导航:首页 > 配服务器 > 如何监听服务器对象

如何监听服务器对象

发布时间:2023-05-19 06:48:06

❶ tidtcpserver怎么用

在桐并早学习idTCPServer的监听机制前,先认识两个对象:
1.TidListenerThread:下文称之为监听对象。这是一个线程对象。
2.TListenerThreads,下文称之为监听列表对象。负责保存并管理监听对象。
在idTCPServer内部,使用一个监听列表对象,来保存监听对象。具体的监听任务由监听对象负责。为什么要用监听列表对象来管理监听对象呢?是因为,一台服务器可能有多个网卡,针对每个网卡idTCPServer都可以建立一个监听对象,负责监听每个网卡收到的客户端的请求,这样的话,就会有多个监听对象需要统一进行管理。当然,这取决于你设置idTCPServer使用几块网蔽衡卡,局雀下文会继续说明。

接下来,还要认识两个新的对象:
3.Bindings,下文称之为网卡绑定集合对象,类型为TIdSocketHandles。这是一个集合对象,集合元素为网卡绑定对象。同时,这个对象被idTCPServer公布为Bindings属性,用户在设计期就可以对这个对象进行设置,下图为设置idTCPServer的Bindings属性的窗口。通过这个窗口,可以看到,可以为idTCPServer设置多个IP与端口,同时可以指定IP的版本,是IPv4,还是IPv6。通过这个窗口提供的信息,可以理解为Server定义一个或多个Binding对象,即网卡绑定对象。

❷ 怎样用ganglia监控windows服务器

Ganglia 监控软件主要是用来监控系统性能的软件,如:cpu 、mem、硬盘利用率, I/O负载、网络流量情况等,通过曲线很容易见到每个节点的工作状态,对合理调整、分配系激兆统资源,提高系统整体性能起到重要作用。支持浏览器方式访问,但 不能监控节点硬件技术指标ganglia 是分喊铅竖布式的监控系统,有两个Daemon, 分别是:客户端Ganglia Monitoring Daemon (gmond)
和服务端Ganglia Meta Daemon (gmetad),还有Ganglia php Web Frontend(基于web的动态访问方式)组成。是一个linux下图形化监控系统运行性能的软件,界面美观、丰富,功能强大。RRDtool是系统 存放和显示time-series (即网络带宽、温度、人数、服务器负载等) 。并且它提出有用的图表由处理数据强制执行有些数据密度。

一、安装RRDTool
gmetad需要先安装RRDTool,安装路径:/usr/local/rrdtool
rrdtool安装需要下面的库文件,如果没有请进行安装。
pkgconfig安装
./configure --prefix=/usr/local/pkgconfig CFLAGS="-O3 -fPIC"
zlib安装
./configure --prefix=/usr/local/zlib CFLAGS="-O3 -fPIC" --shared
libpng安装
env CFLAGS="-O3 -fPIC" ./configure --prefix=/usr/local/libpng
freetype安装
./configure --prefix=/usr/local/freetype CFLAGS="-O3 -fPIC"
LibXML2安装
./configure --prefix=/usr/local/libxml2 CFLAGS="-O3 -fPIC"
fontconfig安装
fontconfig-2.4.2.tar.gz
./configure --prefix=/usr/local/fontconfig --with-freetype-config=/usr/local/freetype/bin/freetype-config
Pixman安装
./configure --prefix=/usr/local/pixman CFLAGS="-O3 -fPIC"

Cairo安装
./configure --prefix=$INSTALL_DIR --enable-xlib=no --enable-xlib-xrender=no --enable-win32=no CFLAGS="-O3 -fPIC"

Glib安装
glib-2.20.1.tar.bz2
./configure --prefix=/usr/local/glib CFLAGS="-O3 -fPIC"
pango安装
pango-1.21.1.tar.bz2
需要PKG_CONFIG_PATH,就的指定相郑大应的路径
PKG_CONFIG_PATH=/usr/local/cairo/lib/pkgconfig:/usr/local/glib/lib/pkgconfig:/usr/local/pixman/lib/pkgconfig:/usr/local/freetype/lib/pkgconfig:/usr/local/fontconfig/lib/pkgconfig
export PKG_CONFIG_PATH

然后执行
./configure --prefix=/usr/local/pango --without-x

rrdtool安装
需要PKG_CONFIG_PATH,就的指定相应的路径
PKG_CONFIG_PATH=/usr/local/cairo/lib/pkgconfig:/usr/local/glib/lib/pkgconfig:/usr/local/pixman/lib/pkgconfig:/usr/local/freetype/lib/pkgconfig:/usr/local/fontconfig/lib/pkgconfig:/usr/local/pango/lib/pkgconfig
export PKG_CONFIG_PATH

./configure --prefix=/usr/local/rrdtool --disable-tcl --disable-python

二、安装所需软件,如果系统没有请您先下载安装.如果有软件已安装可以略过
apr
apr-util
http://apr.apache.org/
confuse
http://bzero.se/confuse/
expat
http://sourceforge.net/project/showfiles.php?group_id=10127
python
http://www.python.org/download/linux/
rrdtool
http://oss.oetiker.ch/rrdtool/
ganglia
http://ganglia.info

第二步:安装所下载的软件,
*1)安装expat-2.0.1.tar.gz 大多数Linux 发行版在默认安装的情况下就已经提供了
tar zxvf expat-2.0.1.tar.gz
cd expat
./configure --prefix=/usr/local/expat
make
make install
2)安装apr-1.3.3.tar.gz
tar zxvf apr-1.3.3.tar.gz
cd apr-1.3.3
./configure --prefix=/usr/local/apr
make
make install
3)安装apr-util-1.3.4.tar.gz
tar zxvf apr-util-1.3.4.tar.gz
cd apr-util-1.3.4
./configure --with-apr=/usr/local/apr
make
make install

如果系统没有自带expat,您安装上面方法安装了expat软件,./configure后要加入--with-

expat=/usr/local/expat路径
将/apr/include/apr-1/*拷贝到apr/include/目录,因为ganglia安装gmetad时默认会

去/usr/local/apr/include下寻找apr的库文件
cp /usr/local/apr/include/apr-1/* /usr/local/apr/include/。

4)安装confuse-2.6
tar zxvf confuse-2.6.tar.gz
cd confuse-2.6
./configure --prefix=/usr/local/confuse
make
make install

5)安装rrdtool-1.3.4.tar.gz
tar zxvf rrdtool-1.3.4.tar.gz
cd rrdtool-1.3.4
./configure --prefix=/usr/local/rrdtool
make
make install

*6)安装python-2.6.tgz 大多数Linux 发行版在默认安装的情况下就已经提供了Python
tar zxvf python-2.6.tgz
cd python-2.6
./configure --prefix=/usr/local/python2.6
make
make install

二 安装配置ganglig
1、安装服务器端gmetad
tar xvzf ganglia-3.1.2
2.tar.gz
cd ganglia-3.1.2
./configure --prefix=/usr/local/ganglia --with-librrd=/usr/local/rrdtool --with-libapr=/usr/local/apr --with-libexpat=/usr/local/expat --with-libconfuse=/usr/local/confuse --with-libpython=/usr/lib --with-gmetad --enable-gexec --enable-status --with-python=/usr/lib/python2.2
make
make install

注: 关于--with-librrd、--with-libapr、 --with-libexpat、 --with-libconfuse、 --with-libpython,ganglia安装所需要的库文件,要依据实际库文件路径设置,就是要依照您安装这些软件的路径。如果在安装这些软件 时并未指定安装路径,一般ganglia安装时就不需要指定--with-libexpat、 --with-libconfuse。其它的还是需要指的,因为ganglia默认安装找不到它们的。

2、服务器端gmetad设置
a、为了保证在开始时启动,需要将gmetad.init文件拷贝到 /etc/rc.d/init.d/
Your_prompt> cd ganglia-3.1.2/gmetad
Your_prompt> cp gmetad.init /etc/rc.d/init.d/gmetad

将配置文件拷贝到/etc/ganglia目录下
Your_prompt>mkdir -p /etc/ganglia
Your_prompt> cp gmetad.conf /etc/ganglia/gmetad.conf

b、Add GMETAD to the list of programs at startup
Your_prompt> chkconfig --add gmetad
Your_prompt> chkconfig --list gmetad
GMETAD 0:ff 1:ff 2:n 3:n 4:n 5:n 6:ff

建立rrds目录并修改权限(需与gmetad.conf中的数据存放路径保持一致,这里采用gmetad默认的存放路径)
Your_prompt> mkdir -p /var/lib/ganglia/rrds
Your_prompt>chown -R nobody /var/lib/ganglia/rrds

c、启动gmetad
Your_prompt>service gmetad start
Starting GANGLIA gmetad: [ OK ]
d.Your_prompt>telnet localhost 8651 | grep “hostname”
就可以得到监控的各个主机的状态。

3、gmetad.conf的配置
# data_source "another source" 1.3.4.7:8655 1.3.4.8
data_source "SERVER" 10 node1:端口号 node2:端口号
data_source是最重要的参量,在GMOND的Cluser name配置必须与data_source的相同,这个参量被设
置为群的名字,被监测以便能监测那群状态。如果有二个或更多监测对象,当有一对象不能被监测,
将读取data_source 配置的下一个对象。端口号可以根据您自己的要求任意设置,这样可以起到一定
的安全作用,防止其它的gmetad访问到你的客户机数据。

data_source后面如果添加的都是ip 话,效果是:有二个或更多监测对象,当有一对象不能被监测, 才

会将读取data_source 配置的下一个对象。
所以永远是你的第一个有图象

如果这样配置可以实现分组问题。下面是一个简单的例子
一、先单独设置数据源,这时客户端不需要配置
data_source "A" 1.1.1.1
data_source "B" 1.1.1.2
data_source "C" 1.1.2.1

二、我们需要将这三个监测对象添加到同一数据源组,组名为all
1、需要配置A、B、C的客户端配置 name = "all"

2、在服务端添加要分配的数据源组
data_source "all" A B C (这里也可以包含一个ip)

# The name of this Grid. All the data sources above will be wrapped in a GRID
# tag with this name.
# default: Unspecified
gridname "Network-status"#在web上显示GRID的名字,自己可以随意设置
# List of machines this gmetad will share XML with. Localhost
# is always trusted.
# default: There is no default value
# trusted_hosts 127.0.0.1 169.229.50.165 my.gmetad.org #可以设置多台gmetad的XML数据共享,

这样您可以对不同网域设置多台gmetad,由中央gmetad收集XML数据显示在web上。

#设置用户的访问,自己可以根据需要进行修改
# If you don't want gmetad to setuid then set this to off
# default: on #默认需要验证用户
# setuid off
#User gmetad will setuid to (defaults to "nobody")
# default: "nobody" #默认用户为nobody
# setuid_username "认证用户"

#数据存放路径为默认/var/lib/ganglia/rrds,在这里可以看到监测群及群内的机器.
# Where gmetad stores its round-robin databases
# default: "/var/lib/ganglia/rrds"
# rrd_rootdir "/some/other/place"

2) client端安装和配置
a.在linux客户机上安装ganglia,需要apr、apr-util、confuse
apr、apr-util、confuse安装
安装apr-1.3.3.tar.gz
tar zxvf apr-1.3.3.tar.gz
cd apr-1.3.3
./configure --prefix=/usr/local/apr
make
make install

安装apr-util-1.3.4.tar.gz
tar zxvf apr-util-1.3.4.tar.gz
cd apr-util-1.3.4
./configure --with-apr=/usr/local/apr
make
make install

将/apr/include/apr-1/*拷贝到apr/include/目录,因为ganglia安装gmond时默认会去/usr/local/apr/include下寻找apr的库文件
cp /usr/local/apr/include/apr-1/* /usr/local/apr/include/。

安装confuse-2.6
tar zxvf confuse-2.6.tar.gz
cd confuse-2.6
./configure --prefix=/usr/local/confuse
make
make install

安装ganglia client端
Your_prompt>tar -zxvf ganglia-3.1.2.tar.gz
Your_prompt>cd ganglia-3.1.2
Your_prompt>./configure --prefix=/usr/local/ganglia --with-libapr=/usr/local/apr --with-libconfuse=/usr/local/confuse --enable-gexec --with-pythoy=/usr/local/python/bin/python
Your_prompt>make
Your_prompt>make install
Your_prompt>cd gmond
Your_prompt>gmond –t > /etc/ganglia/gmond.conf
Your_prompt>cp gmond.init /etc/rc.d/init.d/gmond

Your_prompt> chkconfig --add gmond
Your_prompt> chkconfig --list gmond
gmond 0:ff 1:ff 2:n 3:n 4:n 5:n 6:ff
Your_prompt>service gmond start
Starting GANGLIA gmond: [ OK ]
Your_prompt>telnet localhost 8649 就可以获取机群内运行gmond的主机的信息

b.在windows客户机上安装ganglia
安装ganglia-3.0.0-setup,解压ganglia-3.1.1-bin.zip,然后将解压ganglia-3.1.1-bin,将里面全部

文件拷贝到ganglia目录gmond下,执行一下gmond.bat。
c.配置gmond.conf
Linux: vi /etc/ganglia/gmond.conf
Windows:开始菜单-程序-ganglia- Configure Ganglia Monitoring Service-gmond.conf
#可修改来验证可读取数据的用户,也可以不做修改。
setuid =
globals {
daemonize = yes
setuid = yes #windows版默认值为no,linux版默认值为yes。如需要验证用户windows版需要修改为yes
user = nobody #默认用户为任意。也可以通过修改来验证可读取数据的用户 ,但此用户必须为本机用户。
debug_level = 0
max_udp_msg_len = 1472
mute = no
deaf = no
host_dmax = 0 /*secs */
cleanup_threshold = 300 /*secs */
gexec = no
send_metadata_interval = 0
}

#根据您在gmetad设置的组名称修改name监控组名称,其它项可以自定义。
/* If a cluster attribute is specified, then all gmond hosts are wrapped inside
* of a <CLUSTER> tag. If you do not specify a cluster tag, then all <HOSTS> will
* NOT be wrapped inside of a <CLUSTER> tag. */
cluster {
name = "unspecified"
owner = "unspecified"
latlong = "unspecified"
url = "unspecified"
}

/* The host section describes attributes of the host, like the location */
host {
location = "unspecified"
}

#端口port为gmetad设置的端口号
/* Feel free to specify as many udp_send_channels as you like. Gmond
used to only support having a single channel */
udp_send_channel {
mcast_join = 239.2.11.71
port = 8649
ttl = 1
}

/* You can specify as many udp_recv_channels as you like as well. */
udp_recv_channel {
mcast_join = 239.2.11.71
port = 8649
}

/* You can specify as many tcp_accept_channels as you like to share
an xml description of the state of the cluster */
tcp_accept_channel {
port = 8649

#ACCESS CONTROL #访问控制
#The udp_recv_channel and tcp_accept_channel directives can contain an Access Control

List (ACL). This ACL allows you to specify exactly which hosts gmond process data from
udp_recv_channel #udp接受信道
#在里面添加访问控制命令
acl {
default = "allow"
access {
ip = x.x.x.x
mask = netmask
action = "deny"
}
}

tcp_accept_channel
#在里面添加访问控制命令
acl {
default = "deny"
access {
ip = x.x.x.x
mask = netmask
action = "allow"
}
}

配置完成后重新启动gmond
service gmond restart

多ip的时候,多播有问题

/sbin/route add -host 239.2.11.71 dev eth0 #把eth0换成你想收集信息的interface就好了

***************
安装后不显示图形

如果你在RHEL 4以上版本安装Ganglia那么就是SELinux在作怪,可以关闭SELinux
或者执行以下步骤:

vi /etc/selinux/targeted/contexts/files/file_contexts
添加:
/var/lib/ganglia/rrds(/.*)? system_u:bject_r:httpd_sys_script_exec_t
保存退出
执行:setfiles /etc/selinux/targeted/contexts/files/file_contexts /var/lib/ganglia/rrds/
如果还有问题
vi /$web'DocumentRoot/web/conf.php
将define("RRDTOOL", "/usr/local/bin/rrdtool"); 修改成自己的rrdtool路径

好久没有写什么东西了,最近有时间对用ganglia的应用做了一些研究,以前发的关于用ganglia监控服务器状态写简单,这个就算它的补充吧。内容上不正确的地方,还需要大家指正,希望能完善对ganglia的研究与应用。

❸ 怎样监测一个windows服务器

Windows服务器的监控方式有三种,分别为Agent监测方式、SNMP监测方式和WMI监测方式,下面分别对每一种监测方式进行介绍:

Agent监测方式
使用Agent方式来采集数据,首先需要在被监测服务器上安装Windows Agent代理程序,安装过程请参考安装Agent代理。
1、登录CreCloud云网管平台后,点击系统右上方的【监测】按钮,再点击左下方的【设备管理】。右键点击【设备管理】树下的【设备列表】,弹出菜单。
(也可在设备列表的空白处【图标视图】和【详细信息】中右键选择【增加管理对象】或在快速工具栏中点击【增加管理对象】,下同)

2、选择【增加管理对象】,弹出【添加管理对象】对话框,在【全部设备】下看到“AgentWindows”。

选中上图中的【AgentWindows】,点击【确定】,弹出【AgentWindows】对话框,如下图所示(也可左键双击【AgentWindows】弹出下面对话框)。

3、在“基本设置”栏下进行设置:
Windows服务器地址:输入被监测的服务器的IP地址
Agent端口号:Agent端口,默认为2198
标题:填写显示的标题,可以自己定义
是否禁止:禁止则不进行监测
监测服务器:默认即可

4、在“高级设置”栏可以对该管理对象进行详细描述以及设置依靠条件,如下图:

依靠:从下拉列表中选择要依靠的监测点,可以设置多个监测点依靠。
描述:填写对该设备的简单描述,可以不填写。
5、“基本设置”和“高级设置”填写完毕,点击【确定】即可,弹出显示正在获取管理对象属性提示框。如果获取正常,就会弹出【配置监测点】对话框。

勾选要监测的选项后,点击右边的【确定】即可,Agent监测方式添加完成。添加完成后,在【设备管理】的树下和设备列表的图标视图中都会有添加的设备显示。

SNMP监测方式
注意:如果采用SNMP方式监控,请检查远程机器的SNMP协议是否打开 。
1、登录CreCloud云网管平台后,点击系统右上方的【监测】按钮。
再点击左下方的【设备管理】,如下图所示:

2、右键点击【设备管理】树下的【设备列表】,弹出菜单,如下图所示:

3、选择【增加管理对象】,弹出【添加管理对象】对话框,在【全部设备】下选择设备类型为“SNMP Windows”,点击【确定】,如下图所示:

4、选择“SNMP Windows”,点击【确定】后,弹出如下图所示对话框:

5、“基本设置”选项卡:
Windows服务器IP:填写被监测服务器的IP地址
SNMP端口号:填写SNMP的端口号
可读共同体名称:填写SNMP的可读共同体名称
标题:填写显示的标题
监测服务器:默认即可

6、“高级设置”选项卡:
该选项卡中的设置和Agent中的设置相同。
点击【确定】后,SNMP Windows的监测方式添加完成。添加完成后在设备管理中设备列表下和右侧【设备列表】的图标视图中都会有该设备。

WMI监测方式
注意:如果用WMI方式,需要安装WMI和服务
1、用WMI方式监测,需要将CreCloud Task Server 服务改为用管理员用户启动。

CreCloud Task Server 服务右键“属性”,选择“登录”选项卡

登录帐户选择“此帐户”,点击“浏览”按钮,弹出“选择用户”窗口

点击“高级”按钮后,点击“一般性查询”右侧的“立即查找”按钮,在下方查询结果中选择“Administartor”用户后确定

返回到属性窗口,点击确认,并重启CreCloud Task Server服务

2、登录CreCloud云网管平台后,点击系统右上方的【监测】按钮。
再点击左下方的【设备管理】,如下图所示:

3、右键点击【设备管理】树下的【设备列表】,弹出菜单,如下图所示:

4、选择【增加管理对象】,弹出【添加管理对象】对话框,在【全部设备】下选择设备类型为“WMI Windows”,点击【确定】,如下图所示:

点击【确定】后,弹出如下图对话框:

5、“基本设置”选项卡
Windows服务器IP:填写被监测的服务器的IP地址
登录名:填写被监测的服务器的系统管理员名称

❹ oracle如何配置监听

一、监听器(LISTENER)

监听器是Oracle基于服务器端的一种网络服务,主要用于监听客户端向数据库服务器端提出的连接请求。既然是基于服务器端的服务,那么它也只存在于数据库服务器端,进行监听器的设置也是在数据库服务器端完成的。

二、本地服务名(Tnsname)

Oracle客户端与服务器端的连接是通过客户端发出连接请求,由服务器端监听器对客户端连接请求进行合法检查,如果连接请求有效,则进行连接,否则拒绝该连接。

本地服务名是Oracle客户端网络配置的一种,另外还有Oracle名字服务器(Oracle Names Server)等。Oracle常用的客户端配置就是采用的本地服务名,本文中介绍的也主要是基于本地服务名的配置。

三、Oracle网络连接配置方法

配置Oracle服务器端与客户端都可以在其自带的图形化Oracle网络管理器(Oracle Net Manager)里完成(强烈建议在这个图形化的工具下完成Oracle服务端或客户端的配置)。在Windows下,点击“开始/程序/Oracle - OraHome92/Configuration and Migration Tools/Net Manager”启动Oracle网络管理器工具,在Linux/Unix下,利用netmgr命令来启动图形化Oracle网络管理器,如:

$ netmgr

Windows下启动Net Manager图形窗口如下图示:

树形目录下的服务命名可以通过编辑菜单里的重命名菜单更改成任意合法字符组成的服务名称,注意服务名称前不能有空格字符,否则可能无法连接数据库服务器。

3、连接数据库服务器

(1)启动服务器端监听器与数据库服务

Linux/Unix下,启动监听器:

$ lsnrctl start

关闭监听器:

$ lsnrctl stop

查看监听状态:

$ lsnrctl status

启动数据库:

$ sqlplus /nolog

SQL>conn sys@myoracle as sysdba --这里的myoracle是前面配置的客户端本地服务名

SQL>conn / as sysdba

SQL>startup

Windows下,启动监听器:

C:lsnrctl start

启动Oracle实例服务:

C:oradim ?a href="http://game.pchome.net/pcgame" class="none" title="cs" rel="external">cstartup –sid myoracle

关闭Oracle实例服务:

C:oradim –shutdown –sid myoracle

以上服务必须同时启动,客户端才能连接数据库。由于默认配置的监听器名称是Listener,上述命令可以正常启动监听器,如果监听器名称是其它名称,如aListener,则需要用下列方式才能启动:

Linux/Unix下:

$ lsnrctl start aListener

Windows下:

C:lsnrctl start aListener

(2)测试连接数据库服务器

测试的方法多种多样,可以在上面配置本地服务名时进行测试,也可以是第三方客户端工具,如PL/SQL Developer,最方便的是用Oracle自带的sqlplus工具,以下利用sqlplus进行测试:

C:sqlplus /nolog

SQL>conn zgh@myoracle

已连接。

❺ zookeeper怎么监听的服务器

Zookeeper 作为一个分布式的服务框架,主要用来解决分布式集群中应用系统的一致性问题,它能提供基于类似于文件系统的目录节点树方式的数据存储,但是 Zookeeper 并不是用来专门存储数据的,它的作用主要是用来维护和监控你存储的数据的状态变化。通过监控这些数据状态的变化,从而可以达到基于数据的集群管理,后面将会详细介绍 Zookeeper 能够解决的一些典型问题,这里先介绍一下,Zookeeper 的操作接口和简单歼纤使用示例。

常用接口列表
客户端要连接 Zookeeper 服务器可以通过创建 org.apache.zookeeper. ZooKeeper 的一个实例对象,然后调用这个类提好伏供的接口来和服务器交互。
前面说了 ZooKeeper 主要是用来维护和监控一个目录节点树中存储的数据的状态,所有我们能够操作 ZooKeeper 的也和操作目录节点树大体一样,如创建一个目录节点,给某个目录节点设置数据,获取某个目录节点的所有子目录节点,给某个目录节点设友改携置权限和监控这个目录节点的状态变化。

❻ 如何查看远程服务器的监听服务监听了哪些数据库服务

lsnrctl status <服务器地址 如: lsnrctl status 192.168.0.126 如果远程服务器监听的是其它局喊端口,那需要在本机的对远程服务器监听的连接配置,具体桐颂野做法是有$ORACLE_HOME/network/admin/listener.ora文件中增加一个监听器,监听器的地址是远程服务器址,端口是远程的端口,如: LISTENER126 = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.126)(PORT = 1522)))表示连接到192.168.0.126的1522监听端口。 然后用lsnrctl status LISTENER126 就可显示远程服务器的监听状态了樱历。 同理,可以用这种方法启动和停止远程服务器的监听。

android socket用TCP方式client端怎么监听服务器发送来的数据

服务器端就是需要一个循环不停的接收,这样才能保证服务器能一直监听客户端传过来的数据
你这是同步的,如果用异步socket的话,BeginReceive里面注册了一个回调函数,在回调里面再次调用BeginReceive就可以一直监听了

❽ 易语言服务器如何监听客户端口

可以考虑用java实现监听客户端口,参考例子如下:

packagetest;
importjava.io.ByteArrayOutputStream;
importjava.io.IOException;
importjava.io.InputStream;
importjava.io.OutputStream;
importjava.lang.reflect.Method;
importjava.net.DatagramPacket;
importjava.net.DatagramSocket;
importjava.net.InetAddress;
importjava.net.ServerSocket;
importjava.net.Socket;
importjava.net.SocketException;
importjava.util.HashMap;
importjava.util.LinkedList;
importjava.util.List;
importjava.util.Random;
/**
*该程序用的DatagramSocket,实现UDP的通讯
*@authorD'Addario
*
*/
publicclassTest{

privateintheadLen=12;//消息起点和终点的记录例如classAclassB就是发往classA的消息,发送者是classB
privateRandomrandom;
privateStringserverIp;
privateintserverPort;
privateHashMap<String,Classes>map;
{
serverIp="127.0.0.1";
serverPort=9999;
random=newRandom(System.currentTimeMillis());
map=newHashMap<String,Classes>();
ClassesA=Test.this.newClasses();
A.ip="127.0.0.1";
A.name="我是A";
A.port=10000;
map.put("classA",A);

ClassesB=Test.this.newClasses();
B.ip="127.0.0.1";
B.name="我是B";
B.port=10001;
map.put("classB",B);
}
publicstaticvoidmain(String[]a)throwsException{
Testtest=newTest();
newThread(test.newServer()).start();
Clientclient1=test.newClient();
client1.mine="classA";
client1.remote="classB";
newThread(client1).start();

Clientclient2=test.newClient();
client2.mine="classB";
client2.remote="classA";
newThread(client2).start();

}
/**
*成员用于记录每个成员的个性信息
*@authorD'Addario
*
*/
privateclassClasses{
privateStringname;//成员姓名
privateStringip;//成员ip
privateintport;//成员的clientserver监听端口
}
/**
*server用于转发两个client之间消息的类
*@authorD'Addario
*
*/
{

publicvoidrun(){
//TODOAuto-generatedmethodstub
booleanstart=false;
DatagramSocketsocket=null;
try{
socket=newDatagramSocket(serverPort);
start=true;
}catch(SocketExceptione1){

e1.printStackTrace();
}
while(start)
{

try{

byte[]data=newbyte[1024];
DatagramPacketpacket=newDatagramPacket(data,data.length);
socket.receive(packet);
intlen=packet.getLength();
//System.out.println("receviedata:"+newString(data,0,len));
if(len<headLen)
thrownewIOException("无效数据");
Stringid=newString(data,0,headLen/2);//获取发往对象的ID
Stringid2=newString(data,headLen/2,headLen/2);
System.out.println("receivefrom"+id2+",sendto"+id+",msg["+newString(data,headLen,len-headLen)+"]");
Classesone=map.get(id.trim());
DatagramPacketretPack=newDatagramPacket(data,0,len,InetAddress.getByName(one.ip),one.port);
socket.send(retPack);
}catch(IOExceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}
}
}
}
/**
*Client客户端类,用于客户端消息的发送
*@authorD'Addario
*
*/
{

privateStringmine;
privateStringremote;


publicvoidrun(){
//TODOAuto-generatedmethodstub
Stringmsg=remote+mine;
DatagramSocketsocket=null;
try{
socket=newDatagramSocket(map.get(mine).port);
ClientServersrv=newClientServer();
srv.setSocket(socket);
newThread(srv).start();
}catch(SocketExceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}
byte[]data;
while(true)
{
StringsendStr=msg+"给我"+random.nextInt(5000)+"分吧";
data=sendStr.getBytes();

try{
DatagramPacketretPack=newDatagramPacket(data,0,data.length,InetAddress.getByName(serverIp),serverPort);
socket.send(retPack);
Thread.sleep(random.nextInt(5)*1000);
}catch(IOExceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}catch(InterruptedExceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}


}
}
}
/**
*客户端server用于监听服务器的消息
*@authorD'Addario
*
*/
{
DatagramSocketsocket;

publicDatagramSocketgetSocket(){
returnsocket;
}

publicvoidsetSocket(DatagramSocketsocket){
this.socket=socket;
}

publicvoidrun(){
byte[]data=newbyte[1024];
DatagramPacketpacket=newDatagramPacket(data,data.length);
while(true){
try{
socket.receive(packet);
intlen=packet.getLength();
if(len<headLen)
thrownewIOException("无效数据");
System.out.println("Igetthemessage:"+Thread.currentThread().getId()+"-->["+newString(data,0,len)+"]");
}catch(IOExceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}}
}

}

}

❾ 怎么才能实现随时随地监测服务器运行情况

针对每一个问答都本着绝不大胆胡说,只管小心求证的态度,疯评科技来解答您的提问。

想要随时随地监测服务器的运行情况,需要使用专业的监控软件。下面具体来说一说。

监控软件的功能要求

首先理清楚自己的需求,需要监控什么指标,监控方式,能否预警,历史数据是否保存,是否需要图形,只有对这些进行了充分了解,才能进行目标选定。

常用监控指标如下:

设备的运行状态有cpu使用情况,内存使用情况,硬盘使用情况,设备温度,运行时间等。

网络运行状态有流量,网卡状态,端口状态,路由条目数,路由协议状态等。

其它有ups运行状态,电量,光纤功率,电源状态等。

监控方式有snmp,,wmi,agent等。

预警需求有短信,电话,邮件,微信等。

相信经过这一系列的了解,对监控软件就走了选型了,这里我自己管理的网络用的流量监控软件是cacti和zabbix,其它状态监控用的是PRTG,还有设备厂商自带的监控软件。

监控软件的安装部署

在选定了监控软件后就是进行安装部署了,选毕碧用本宴槐地服务器还是云服务器都是可以的,需要服务器保持稳定,能够存储一定量的监控数据。

有的监控软件安装比较简单,比如Windows环境下的,涉及到数据库安装的就复杂一些,相比较而言,Linux下的监控软件性能更好,更稳定,当然非专业人员部署起来也比较困难。

监控软件安装完成后,需要进行必要的配置,包括监控目标的添加,参数调整,阈值设置,预警方式等。

在设置完整后,需要对所有配置保存并备份,并做定期备份计划,以确保数据安全。

随时随监测服务器

经过手祥举前面的准备,我们已经可以实现随时随地监测服务器了。具体实施可以如下来做:

有web登录功能的监控软件直接在手机浏览器中访问,并存入收藏夹,以被随时登录查看服务器状态。

有app客户端的监控软件则直接在手机上安装app进行查看。

没有web和app登录方式的则手机需要有远程软件,进行远程登录查看。

通过上述所说,用手机即可以轻松实现随时随地监测服务器的情况,当然有条件的,可以对监控软件进行二次开发或者自己开发所需功能的监控软件。

❿ java如何实现在服务器开一个监听,如果客户

1. className 此Valve 实现的Java 类名
2. debug 调试等级,0 表示不调试,而正数则表示不同程度的调试等级,数字愈高,显示的调试信息就愈详细。默认值是0
3. escapeQuotes 在执行请求前,决定此Valve 是否要转义请求消息中的任何引号(包括双及单引号)。默认值为false
4. escapeAngleBrackets 在执行请求前,决定此Valve 是否要转义请求消息中的任何尖括号。默认值为false
5. escapeJavaScript 决定此Valve是否要转义请求消息中任何对JavaScript函数与对象的可能有危险的引用。默认值为false
6. allow 此Valve 允许的正则表示式清单,以逗号分隔 [可选]
7. deny 此Valve 禁止的正则表示式清单,以逗号分隔 [可选]

阅读全文

与如何监听服务器对象相关的资料

热点内容
cpu服务器过载怎么办 浏览:618
zip内存压缩 浏览:311
阿里云99元服务器不可以退款 浏览:337
linux下安装vnc 浏览:656
微信图片加密编辑可见 浏览:704
江恩操盘术pdf 浏览:929
本机构所属的服务器是什么意思 浏览:783
c编译器有哪些段 浏览:862
qq原创表情在哪个文件夹 浏览:624
点点赚app现在怎么不能用了 浏览:363
网红阿里程序员事件 浏览:203
算法设计心得体会 浏览:118
java修改ip 浏览:151
php不需要编译吗 浏览:136
特斯拉新车如何用app控制 浏览:187
文档拖到文件夹就不见了 浏览:815
标致308压缩比是多少 浏览:751
服务器和备用服务器地址 浏览:928
程序员加班跳槽 浏览:708
青年员工在工作中如何化解压力 浏览:604