精华内容
下载资源
问答
  • 本地提供/调用服务(spring)<bean id="demoService" class="com.demo.DemoServiceImpl" /><bean id="demoAction" class="com.action.DemoAction"> 其中,id为demoServ

    本地提供/调用服务(spring)

    <bean id="demoService" class="com.demo.DemoServiceImpl" />
    
    <bean id="demoAction" class="com.action.DemoAction">
        <property id="demoService" ref="demoService" />
    </bean>

    其中,id为demoService的bean是真实的的服务提供者,并且把此服务提供者bean作为参数,传递给id为demoAction的bean,此bean为服务的消费者。

    远程提供/调用服务(spring,dubbo)

    #服务提供者
    <!-- 和本地提供服务一样提供远程服务 -->
    <bean id="demoService" class="com.demo.DemoServiceImpl" />
    
    <!-- 增加暴露远程服务配置 -->
    <dubbo:service interface="com.demo.DemoService" ref="demoService" />

    其中,com.demo.DemoServicecom.demo.DemoServiceImpl的接口;

    #服务调用者
    <!-- 增加引用远程服务配置 -->
    <dubbo:reference id="demoService" interface="com.demo.DemoService" />
    
    <!-- 和本地调用服务一样消费服务 -->
    <bean id="demoAction" class="com.action.DemoAction">
        <property id="demoService" ref="demoService" />
    </bean>

    也就是说,远程提供/调用服务与本地提供/调用服务相比:
    1. 服务的提供与服务的调用不是在本地,可能是在不同的机器上;
    2. 对于服务提供方而言,提供服务的方式不变,仅仅是使用<dubbo:service>将服务暴露给远程;
    3. 对于服务消费者而言,消费服务的方式不变,仅仅是使用<dubbo:reference>来引用其他地方报漏出来的远程服务;
    4. 因此,服务的提供者可以向在本地提供服务一样提供远程服务,消费者可以向在本地消费服务一样消费远程服务;

    展开全文
  • 在已经创建的webapi服务的解决方案上,点击发布TomatoApi 选择配置,进行发布目标的选取,发布方法选择文件系统,目标位置选择自己要发布的位置,点击下一页 配置中选择的和解决方案对应的(debug或者release...

    以webapi为例

    本地发布:

    在已经创建的webapi服务的解决方案上,点击发布TomatoApi

    选择配置,进行发布目标的选取,发布方法选择文件系统,目标位置选择自己要发布的位置,点击下一页

     配置中选择的和解决方案对应的(debug或者release)【debug和release发布区别:https://www.cnblogs.com/taiyonghai/p/6126074.html

    打开自己的IIS管理器

    点击网站,选择添加

     

     对目录浏览和默认文档进行重新启动:

     点击浏览网站,进行浏览器的访问和检测发布是否正确(试验所写方法是否能够实现)

    远程服务发布:

    window+r,mstsc命令(Mstsc (Microsoft terminal services client)创建与终端服务器或其他远程计算机的连接),点击连接-连接,如遇到连接错误,也直接点是

     同样的步骤,将webapi发布到远程服务器的电脑上,然后打开远程服务器的IIS管理器,进行同样过程的添加网站-添加物理地址,浏览网站,在浏览器测试发布网站是否正确,返回和使用数据是否正确

    如遇到知识性错误请及时在下方留言,谢谢!

     

     

    展开全文
  • 远程桌面终端服务的区别和联系以及修改他们的端口 <br /> 首先我们来看看相同点,他们都是windows系统的组件,都是由微软公司开发的。通过这两个组件可以实现用户在网络的另一端控制服务器的功能,...

    远程桌面与终端服务的区别和联系以及修改他们的端口
      
      首先我们来看看相同点,他们都是windows系统的组件,都是由微软公司开发的。通过这两个组件可以实现用户在网络的另一端控制服务器的功能,操作服务器,运行程序就好象操纵自己本地计算机一样简单,速度方面也非常快。
      
      不过这两个组件的区别也是非常明显的。
      
      (1)远程终端服务允许多个客户端同时登录服务器,不管是设备授权还是用户授权都需要CAL客户访问授权证书,这个证书是需要向微软公司购买的;而远程桌面管理只是提供给操作员和管理员一个图形化远程进入服务器进行管理的界面(从界面上看和远程终端服务一样的),远程桌面是不需要CAL许可证书的。
      
      (2)远程桌面是完全免费的,而终端服务只有120天的使用期,超过这个免费使用期就需要购买许可证了。
      
      (3)远程桌面最多只允许两个管理员登陆的进程,而终端服务没有限制,只要你购买了足够的许可证想多少个用户同时登录一台服务器都是可以的。
      
      (4)远程桌面只能容许管理员权限的用户登录,而终端服务则没有这个限制,什么样权限的用户都可以通过终端服务远程控制服务器,只不过登录后权限还是和自己的权限一致而已。
      
      总结:明白了远程桌面和终端服务的开启方法和相同与不同后我们就需要根据公司的实际需求进行选择了。可能有的读者会说既然远程桌面是免费的,终端服务需要购买许可证,干脆都用远程桌面不就完了吗?实际上在区别的第四点中已经介绍了,远程桌面只能让管理员权限的用户使用,一般权限的帐户无法登录。而终端访问则没有这个限制;而且远程桌面只能容许同时2人登录操作服务器,终端访问也没有这个限制。这两点区别决定了当服务器需要同时超过2人以及需要非管理员权限的用户管理时必须使用终端服务。

    ---------------------------------------------------------------------------
    Windows 2003的远程桌面的默认端口为3389,但为了安全有时可对其进行更改。

    一.在服务器的注册表上做如下修改。
    KEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/ Control/Terminal Server/Wds/rdpwd/Tds/tcp
    HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Control/Terminal Server/WinStations/RDP-Tcp
    都有一个PortNumber值,通常为3389,将其修改为自己的值,如19191(可自己指定端口,但最好不要设为低端端口,以免冲突);
      
    二.重新启动服务器。

    三.客户端连接办法  
    输入主机地址,后面跟端口号,例如: 202.100.4.15:19191

    ---------------------------------------------------------------------------
    开启Windows 2003远程桌面连接服务的方法

    1、HKLM/SYSTEM/CurrentControlSet/Control/Terminal Server/fDenyTSConnections将其值改为0。(其实就是右键点击“我的电脑”选属性里的高级后就有直接勾选的)

    2、打开组策略(运行gpedit.msc)→计算机配置→管理模板→Windows组件→终端服务下面的允许用户使用终端服务远程连接,设置为已启用。(有上面一步这里就可以不用了吧,不过如果做了上一步还无法连接,就要复查一下这里了)

    3、打开服务管理(运行services.msc),找到Terminal Services,打开其属性窗口,在常规选项卡中,将其启动类型设置为自动,然后点启动即可。(其实此服务不仅为远程桌面提供服务,还为远程终端、防火墙提供服务)

    ---------------------------------------------------------------------------
    Terminal Service的日志功能

    在管理工具中打开远程控制服务配置(Terminal Service Configration),点击“连接”,右击你想配置的RDP服务,选中书签“权限”,点击左下角的“高级”,看见上面那个“审核”了吗?我们来加入一个Everyone组,这代表所有的用户,然后审核他的“连接”、“断开”、“注销”的成功和“登陆”的功能和失败就足够了,审核太多了反而不好,这个审核试记录在安全日志中的,可以从“管理工具”->“日志查看器”->“审核”中查看。

    现在什么人什么时候登陆都一清二楚了,可是它却不记录客户端的IP(只能查看在线用户的ip)而是记录计算机名,我们可以建立一个.bat文件,叫做TSLog.bat,这个文件用来记录登录者的ip,内容如下:
    time /t>>TSLog.log
    netstat -n -p tcp|find ":3389">>TSLog.log
    start Explorer

    下面来解释一下这个文件的含义:
    第一行是记录用户登陆的时间,Time/t的意思是直接返回系统时间(如果不加/t,系统会等待你输入新的时间),然后我们用追加符号把这个时间记入TSLog.log
    第二行是记录用户的ip地址,Netstat是用来显示当前网络连接状况的命令,-n表示显緄p和端口而不是域名、协议,-p tcp是只显示tcp协议,然后我们用管道符号“|”把这个命令的结果输出给Find命令,从输出结果中查找包含“:3389”的行(这就是我们要得客户的ip所在行,如果你改了终端服务的端口,这个数值也要作相应的改变),最后我们同样把这个结果重定向到日志文件TSLog.log中。

    也就是说只要这个TSLog.bat文件一运行,所有连在3389端口的ip都会被记录,那么如何让这个批处理文件运行呢?我们知道终端服务允许我们为用户自定义起始的程序,在终端服务配置中,我们覆盖用户的登陆脚本设置并指定TSLog.bat为用户登录时需要打开的脚本,这样每个用户登录后都必须执行这个脚本,因为默认得脚本(相当于SHELL环境)是Explorer(资源管理器),所以我在TSLog.bat的最后一行加上了启动Explorer的命令start Explorer,如果不加这一行命令,用户是没有办法进入桌面的。当然,如果你只需要给用户特定的SHELL。

    这个脚本也可以有其他的写法,例如写一个脚本把每个登陆用户的ip发送到自己的信箱对于很重要的服务器也是一个很好的方法。正常情况下,一般的用户没有查看终端服务设置的权限,所以他不会知道你对登陆进行了ip审核,只要把TSLog.bat文件和TSLog.log 文件放在比较隐蔽的目录里就足够了,不过需要注意的是这只是一个简单的终端服务日志攻略,并没有太多的安全保障措施和权限机制 ,如果服务器有更高的安全要求,那还是需要通过编程后购买入侵检测 软件来完成。

    展开全文
  • service影响的是进程的生命周期,讨论Thread的区别没有意义。任何 Activity 都可以控制同一 Service,而系统也只会创建一个对应 Service 的实例。 两种启动方式 第一种启动方式: 通过start方式开启服务. 使用...

    本地服务(LocalService)

    调用者和service在同一个进程中,service运行在主进程的main线程中。所以不能进行耗时操作,耗时操作可以采用在service里面创建一个Thread来执行任务。
    任何 Activity 都可以控制同一 Service,而系统也只会创建一个对应 Service 的实例

    两种启动方式

    第一种启动方式startService(intent):

    通过start方式开启服务service的步骤:

    1,定义一个类继承service
    2,manifest.xml文件中声明自己定义的service
    3,使用context的startService(Intent)方法启动service
    4,不在使用时,调用stopService(Intent)方法停止服务

    使用start方式启动service的生命周期:

    onCreate() --> onStartCommand() --> onStart() --> onDestory()
    注意:如果服务已经开启,如果再次调用context.startService()方法,不会重复回调onCreate()方法,service而是会调用onStartCommand()和onStart()方法。

    停止服务需要调用context.stopService()方法,服务停止的时候回调onDestory,然后被销毁。

    startService特点
    一旦服务开启就跟调用者(开启者)没有任何关系了。就算开启者退出或者挂了,服务依然在后台长期的运行,开启者也不能调用服务里面的方法。

    第二种启动方式bindService(Intent,ServiceConnection,int)

    通过bind的方式开启服务
    使用service的步骤:

    1,定义一个类继承Service
    2,在manifest.xml文件中声明自己定义的service
    3,使用context的bindService(Intent,ServiceConnection,int)方法启动service
    4,不再使用时,调用unbindService(ServiceConnection)方法停止该服务

    使用这种bind方式启动的service的生命周期如下:

    onCreate() -- > onBind() --> (ServiceConnection的onServiceConnected)-->onUnbind() -- > onDestory()

    注意1:绑定服务不会调用onStart()或者onStartCommand()方法

    注意2:绑定服务由哪个context绑定后,就只能由这个context进行解绑,否则会报java.lang.IllegalArgumentException: Service not registered异常。同理,没被绑定的service,调用解绑同样回报这个异常。

    注意3:Service中需要创建一个实现IBinder的内部类(这个内部类不一定在Service中实现,但必须在Service中创建它)。
    然后在OnBind()的方法中需返回一个IBinder实例,不然onServiceConnected方法不会调用。

    注意4:ServiceConnection 的回调方法onServiceDisconnected() 在连接正常关闭的情况下是不会被调用的, 该方法只在Service 被破坏了或者被杀死的时候调用. 例如, 系统资源不足, 要关闭一些Services, 刚好连接绑定的 Service 是被关闭者之一,  这个时候onServiceDisconnected() 就会被调用。

    bindService特点:bind的方式开启服务,绑定服务后如果调用者挂了,服务也会跟着挂掉。绑定者可以调用服务里面的方法。

     

    远程服务

    调用者和service不在同一个进程中,service在单独的进程中的main线程,是一种垮进程通信方式。

    绑定远程服务的步骤:

    • 在服务的内部创建一个内部类,提供一个方法,可以间接调用服务的方法
    • 把暴露的接口文件的扩展名改为.aidl文件 去掉访问修饰符
    • 实现服务的onbind方法,继承Bander和实现aidl定义的接口,提供给外界可调用的方法
    • 在activity 中绑定服务。bindService()
    • 在服务成功绑定的时候会回调 onServiceConnected方法 传递一个 IBinder对象
    • aidl定义的接口.Stub.asInterface(binder) 调用接口里面的方法

     

    IntentService

    IntentService是Service的子类,比普通的Service增加了额外的功能。先看Service本身存在两个问题

    • Service不会专门启动一条单独的进程,Service与它所在应用位于同一个进程中;
    • Service也不是专门一条新线程,因此不应该在Service中直接处理耗时的任务;

    IntentService特征:

    • 会创建独立的worker线程来处理所有的Intent请求;
    • 会创建独立的worker线程来处理onHandleIntent()方法实现的代码,无需处理多线程问题;
    • 所有请求处理完成后,IntentService会自动停止,无需调用stopSelf()方法停止Service;
    • 为Service的onBind()提供默认实现,返回null;
    • 为Service的onStartCommand提供默认实现,将请求Intent添加到队列中;

     

     

    展开全文
  • 第三十三节 Ribbon 本地负载均衡客户端Nginx服务负载均衡的区别 Ribbon本地负载均衡,原理:在调用接口的时候,会在Eureka注册中心上获取注册信息服务列表,获取到之后,缓存在JVM本地,让你使用本地实现rpc远程...
  • ssh 本地转发 和远程转发 区别

    千次阅读 2017-07-20 21:29:11
    SSH隧道端口转发及内网穿透 大家都知道SSH是一种安全传输协议,用在连接服务器上比较多。不过其实除了这个功能,它隧道转发功能更是吸引人。下面是个人根据自己需求以及在网上查找资料配合自己实际...
  • 在使用IDEA开发项目的时候,部署Tomcat或jetty的时候通常会出现下边的情况,选哪一个呢,先了解下两个的区别 war模式:将web工程以war包的形式上传到服务器 war exploed模式:将web工程以当前文件夹的位置关系上传...
  • 首先我们来看看相同点,他们都是windows系统的... 不过这两个组件的区别也是非常明显的—— (1)远程终端服务允许多个客户端同时登录服务器,不管是设备授权还是用户授权都需要CAL客户访问授权证书,这个证书是需...
  • Dubbo是一个阿里巴巴开源出来一个分布式服务框架,致力于提供高性能和透明化RPC远程服务调用方案,以及SOA服务治理方案。 1.什么是分布式服务框架 分布式有两个特点,分别是内聚性和透明性(比如git管理工具...
  • iOS开发-本地通知与远程通知

    千次阅读 2016-12-05 16:21:21
    App开发中经常会使用到推送,苹果和安卓区别是苹果用自己APNS推送服务器,不论我们是集成第三方推送  还是用苹果系统推送都要经过APNS推送服务器。 目前市场上比较流行几个第三方推送: 1.极光推送 (使用...
  • 又恰好两台主机都是linux系统,便可以使用scp传输文件)参数作痛-v先是详细连接进度-P指定远程主机sshd端口号-r传送文件夹时请加此参数-6使用ipv6协议例如:将本地的文件/root/1.txt 传到远程主机/ome目录去scp...
  • scp:远程传输命令。(通过网络传送给其他主机,又恰好两台主机都是linux系统,便可以使用scp传输文件) 参数 ...先是详细连接进度 ...例如:将本地的文件/root/1.txt 传到远程主机/ome目录去 ...
  • 1.localhost127.0.0.1的区别 1.1 localhost127.0.0.1 localhost也叫local ,正确的解释是:本地服务器 ,127.0.0.1在windows等系统的正确解释是:本机地址(本机服务器) 1.2localhost127.0.0.1访问区别 ...
  • 最近做实验, 需要用到远程服务器, 平时的时候都是通过xshell直接连接的, 这次竟然引入了一个堡垒机的东西才能连接, 这个东西一开始... 我本地用的Linux, 他下面的是Mac, 这是唯一的区别, 但命令都差不多。 1. 堡
  • 1. 远程服务与本地服务的区别 远程服务与本地服务最大的区别是:远程Service与调用者不在同一个进程里(即远程Service是运行在另外一个进程);而本地服务则是与调用者运行在同一个进程里 二者区别的详细区别如下...
  • git fetch --all下载远程的库的内容到本地,不做任何的合并(怎么合并可以自己选择) git reset --hard origin/master 撤销本地、暂存区...这里简要说明一下git fetchgit pull的区别 git fetch 从远程库下载代码...
  • 由于Git分布式特性,所以没有绝对的本地仓库和远程仓库区别,所有的本地远程都是相对 但就大多数情况而言,我们把自己电脑上Git仓库称为本地仓库,存放于服务器上称为远程仓库 创建分支 创建本地分支有...
  • 个人认为最本质的区别在于 Webservice近乎实时通信,而MQ却通常是延时通信。 什么意思呢? 因为webservice其实就是本地服务器程序调用远程服务器上的方法,属于两者之间的交互,请求的时候需要等被请求的服务器做出...
  • 1 Ribbon本地负载均衡原理:在调用接口时候,会在eureka注册中心上获取注册信息服务列表,获取到之后,缓存在jvm本地,让你使用本地实现rpc远程调用技术进行调用。即在客户端实现负载均衡。 2 nginx是服务器端...
  • MQWebservice的区别

    千次阅读 2017-04-20 14:59:04
    Webservice 和MQ(MessageQueue)都是解决...因为webservice其实就是本地服务器程序调用远程服务器上方法,属于两者之间交互,请求时候需要等被请求服务器做出回应后,另一端才会有所动作,也就是说,如果你请求
  • spring cloud rpc框架 的区别与联系

    千次阅读 2020-04-26 11:52:03
    想要知道 spring cloud rpc框架 的区别与联系,那我们首先要知道什么是rpc调用 ? rpc Remote Procdeure Call ,即远程过程调用,它是一种通过网络计算机程序请求,服务,而不需要了解底层网络实现的技术。 ...
  • 很多童鞋被Service的本地服务与远程服务所困扰,下面就写一个小Demo来展示本地服务跟远程服务的区别:一、概念:本地服务是Service对象与Service的启动者在同个进程中运行, 两者的通信是进程内通信。二、这里做的本地...
  • 除第一个示例外,其他操作均为实例,读者请注意区分笔者的服务器帐号和IP地址你们自己的帐号IP地址的区别远程访问 在本地终端环境下 ssh <account>@<IP Address> 回车输入服务器帐号密码即可...
  • pingtelnet的区别

    2020-03-18 21:15:37
       实际项目开发调试过程中,无论是对引擎的服务调试,还是对远程部署深度模型访问或多或少都涉及到不同网络环境之间访问,而有时候网络安全部门对不同办公网络环境互通权限、代理设置也会发生变更,...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 491
精华内容 196
关键字:

本地服务与远程服务的区别