server_serversocket - CSDN
精华内容
参与话题
  • Server(简单详细)

    2018-06-17 23:52:44
    Server是Android中实现程序后台运行的解决方案. 它非常适合去执行那些不需要和用户交互而且还要求长期运行的任务 服务的运行不依赖于任何界面,即使程序被切换到后台,或者用户打开另一个应用程序,服务任然能够正常...

    介绍

    1. Server是Android中实现程序后台运行的解决方案.
    2. 它非常适合去执行那些不需要和用户交互而且还要求长期运行的任务
    3. 服务的运行不依赖于任何界面,即使程序被切换到后台,或者用户打开另一个应用程序,服务任然能够正常运行
    4. 我们需要在Server的内部创建子线程,否则可能出现主线程被阻塞的情况

    创建自己的MyServer类

    继承Service类

    public class MyService extends Service {
        public MyService() {
        }
    
        @Override
        public IBinder onBind(Intent intent) {
            //和活动进行通信使用
            throw new UnsupportedOperationException("Not yet implemented");
        }
    }

    继承完还不够,还需重写几个常用的方法

    public class MyService extends Service {
        public MyService() {
        }
    
        @Override
        public IBinder onBind(Intent intent) {
            //和活动进行通信使用
            throw new UnsupportedOperationException("Not yet implemented");
        }
    
        @Override
        public void onCreate() {
            //在服务创建的时候调用
            super.onCreate();
        }
    
        @Override
        public int onStartCommand(Intent intent, int flags, int startId) {
            //每次服务启动的时候调用
            return super.onStartCommand(intent, flags, startId);
        }
    
        @Override
        public void onDestroy() {
            //在服务销毁的时候调用
            super.onDestroy();
        }
    }

    别忘了在AndroidManifest进行注册

    <service
        android:name=".MyService"
        android:enabled="true"
        android:exported="true">
    </service>
    enabled是否启用这个服务
    exported是否允许除了当前程序之外的其他程序访问这个服务

    启动和暂停服务

    布局文件代码
    只有2个按钮,一个启动,一个暂停

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical">
    
        <Button
            android:id="@+id/start_service"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="start_service" />
    
        <Button
            android:id="@+id/stop_service"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="stop_service" />
    
    </LinearLayout>

    MainActivity

    public class MainActivity extends AppCompatActivity implements View.OnClickListener {
    
        private Button startService;
        private Button stopService;
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            //初始化View
            startService = (Button) findViewById(R.id.start_service);
            stopService = (Button) findViewById(R.id.stop_service);
            //注册监听
            startService.setOnClickListener(this);
            stopService.setOnClickListener(this);
        }
    
        @Override
        public void onClick(View v) {
            switch (v.getId()){
                case R.id.start_service:
                    //开启服务
                    Intent startIntent = new Intent(MainActivity.this, MyService.class);
                    startService(startIntent);
                    break;
                case R.id.stop_service:
                    //暂停服务
                    Intent stopIntent = new Intent(MainActivity.this, MyService.class);
                    stopService(stopIntent);
                    break;
                default:
                    break;
            }
        }
    }

    活动和服务进行通信

    上面再MainActivity中启动了服务,但是启动后,就没下文了…,服务确实启动了,然而活动并不知道服务到底去做了什么事情,以及完成的如何.

    比如说,我们希望在MyService里提供一个下载功能,然后在活动中决定何时开始下载,以及随时查看下载进度.

    重写下MyService代码

    public class MyService extends Service {
    
        private DownloadBinder mBinder = new DownloadBinder();
    
        public MyService() {
        }
    
        @Override
        public IBinder onBind(Intent intent) {
            //和活动进行通信使用
            throw new UnsupportedOperationException("Not yet implemented");
        }
    
        @Override
        public void onCreate() {
            //在服务创建的时候调用
            super.onCreate();
        }
    
        @Override
        public int onStartCommand(Intent intent, int flags, int startId) {
            //每次服务启动的时候调用
            return super.onStartCommand(intent, flags, startId);
        }
    
        @Override
        public void onDestroy() {
            //在服务销毁的时候调用
            super.onDestroy();
        }
    
        class DownloadBinder extends Binder {
    
            public void startDownload() {
                //开始下载
            }
    
            public void getProgress() {
                //查看进度
            }
        }
    }

    布局文件修改,添加2个按钮,一个绑定服务,一个解绑服务

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical">
    
        <Button
            android:id="@+id/start_service"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="start_service" />
    
        <Button
            android:id="@+id/stop_service"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="stop_service" />
    
        <Button
            android:id="@+id/bind_service"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="bind_service" />
    
        <Button
            android:id="@+id/unbind_service"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="unbind_service" />
    
    </LinearLayout>

    MainActivity修改

    public class MainActivity extends AppCompatActivity implements View.OnClickListener {
    
        private Button startService;//开启服务
        private Button stopService;//暂停服务
        private Button bindService;//绑定服务
        private Button unbindService;//解绑服务
    
        private MyService.DownloadBinder downloadBinder;
    
        private ServiceConnection connection = new ServiceConnection() {
    
            @Override
            public void onServiceConnected(ComponentName name, IBinder service) {
                //当活动与服务成功绑定
                //service向下转型
                downloadBinder=(MyService.DownloadBinder)service;
                //开始下载
                downloadBinder.startDownload();
                //查看进度
                downloadBinder.getProgress();
            }
    
            @Override
            public void onServiceDisconnected(ComponentName name) {
                //当活动与服务连接断开时
            }
        };
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            //初始化View
            startService = (Button) findViewById(R.id.start_service);
            stopService = (Button) findViewById(R.id.stop_service);
            bindService = (Button) findViewById(R.id.bind_service);
            unbindService = (Button) findViewById(R.id.unbind_service);
            //注册监听
            startService.setOnClickListener(this);
            stopService.setOnClickListener(this);
            bindService.setOnClickListener(this);
            unbindService.setOnClickListener(this);
        }
    
        @Override
        public void onClick(View v) {
            switch (v.getId()) {
                case R.id.start_service:
                    //开启服务
                    Intent startIntent = new Intent(MainActivity.this, MyService.class);
                    startService(startIntent);
                    break;
                case R.id.stop_service:
                    //暂停服务
                    Intent stopIntent = new Intent(MainActivity.this, MyService.class);
                    stopService(stopIntent);
                    break;
                case R.id.bind_service:
                    //绑定服务
                    Intent bindIntent = new Intent(this, MyService.class);
                    bindService(bindIntent, connection, BIND_AUTO_CREATE);
                    break;
                case R.id.unbind_service:
                    //解绑服务
                    unbindService(connection);
                    break;
                default:
                    break;
            }
        }
    }
    展开全文
  • 什么是WEBserver? 经常使用的WEBserver有哪些?   一、什么是WEBserver  Webserver能够解析HTTP协议。当Webserver接收到一个HTTP请求,会返回一个HTTP响应,比如送回一个HTML页面。为了处理一个请求Webserver能够...

    什么是WEBserver? 经常使用的WEBserver有哪些?

     
    一、什么是WEBserver

        Webserver能够解析HTTP协议。当Webserver接收到一个HTTP请求,会返回一个HTTP响应,比如送回一个HTML页面。为了处理一个请求Webserver能够响应一个静态页面或图片,进行页面跳转或者把动态响应的产生托付给一些其他的程序比如CGI脚本,JSP脚本,servlets,ASP脚本,server端JavaScript,或者一些其他的server端技术。不管它们(译者注:脚本)的目的怎样,这些server端的程序通常产生一个HTML的响应来让浏览器能够浏览。 

     

    二。经常使用的WEBserver有哪些?

         在UNIX和LINUX平台下使用最广泛的免费HTTPserver是W3C、NCSA和APACHEserver,而Windows平台NT/2000/2003使用IIS的WEBserver。在选择使用WEBserver应考虑的本身特性因素有:性能、安全性、日志和统计、虚拟主机、代理server、缓冲服务和集成应用程序等,以下介绍几种经常使用的WEBserver。

     

    Microsoft IIS
         Microsoft的Webserver产品为Internet Information Server (IIS), IIS 是同意在公共Intranet或Internet上公布信息的Webserver。IIS是眼下最流行的Webserver产品之中的一个,非常多著名的站点都是建立在IIS的平台上。IIS提供了一个图形界面的管理工具,称为 Internet服务管理器,可用于监视配置和控制Internet服务。

         IIS是一种Web服务组件,当中包含Webserver、FTPserver、NNTPserver和SMTPserver,分别用于网页浏览、文件传输、新闻服务和邮件发送等方面,它使得在网络(包含互联网和局域网)上公布信息成了一件非常easy的事。它提供ISAPI(Intranet Server API)作为扩展Webserver功能的编程接口;同一时候,它还提供一个Internet数据库连接器,能够实现对数据库的查询和更新。

     

    IBM WebSphere
         WebSphere Application Server 是 一 种功能完好、开放的Web应用程序server,是IBM电子商务计划的核心部分,它是基于 Java 的应用环境,用于建立、部署和管理 Internet 和 Intranet Web 应用程序。 这一整套产品进行了扩展,以适应 Web 应用程序server的须要,范围从简单到高级直到企业级。

         WebSphere 针对以 Web 为中心的开发者,他们都是在基本 HTTPserver和 CGI 编程技术上成长起来的。IBM 将提供 WebSphere 产品系列,通过提供综合资源、可反复使用的组件、功能强大并易于使用的工具、以及支持 HTTP 和 IIOP 通信的可伸缩执行时环境,来帮助这些用户从简单的 Web 应用程序转移到电子商务世界。

     

    BEA WebLogic
         BEA WebLogic Server 是一种多功能、基于标准的web应用server,为企业构建自己的应用提供了坚实的基础。各种应用开发、部署全部关键性的任务,不管是集成各种系统和数据库,还是提交服务、跨 Internet 协作,起始点都是 BEA WebLogic Server。因为 它具有全面的功能、对开放标准的遵从性、多层架构、支持基于组件的开发,基于 Internet 的企业都选择它来开发、部署最佳的应用。

         BEA WebLogic Server 在使应用server成为企业应用架构的基础方面继续处于率先地位。BEA WebLogic Server 为构建集成化的企业级应用提供了稳固的基础,它们以 Internet 的容量和速度,在连网的企业之间共享信息、提交服务,实现协作自己主动化。

     

    APACHE

         apache仍然是世界上用的最多的Webserver,市场占有率达60%左右。它源于NCSAhttpdserver,当NCSA WWWserver项目停止后,那些使用NCSA WWWserver的人们開始交换用于此server的补丁,这也是apache名称的由来(pache 补丁)。世界上非常多著名的站点都是Apache的产物,它的成功之处主要在于它的源码开放、有一支开放的开发队伍、支持跨平台的应用(能够执行在差点儿全部的Unix、Windows、Linux系统平台上)以及它的可移植性等方面。

     

    Tomcat
         Tomcat是一个开放源码、执行servlet和JSP Web应用软件的基于Java的Web应用软件容器。Tomcat Server是依据servlet和JSP规范进行执行的,因此我们就能够说Tomcat Server也实行了Apache-Jakarta规范且比绝大多数商业应用软件server要好。
         Tomcat是Java Servlet 2.2和JavaServer Pages 1.1技术的标准实现,是基于Apache许可证下开发的自由软件。Tomcat是全然重写的Servlet API 2.2和JSP 1.1兼容的Servlet/JSP容器。Tomcat使用了JServ的一些代码,特别是Apache服务适配器。随着Catalina Servlet引擎的出现,Tomcat第四版号的性能得到提升,使得它成为一个值得考虑的Servlet/JSP容器,因此眼下很多WEBserver都是採用Tomcat。
    眼下,很多大型Web应用一般将Apache和Tomcat结合使用,Apache负责接收用户的HTTP请求,假设请求是Servlet、Jsp,则把请求转发给Tomcat处理,并将处理结果封装响应给用户。

    展开全文
  • 掌握 Windows Server 2012 R2 系统中,DHCP,DNS,WINS,IPAM,打印服务,VPN 服务和 DirectAccess 服务的应用场景,原理和配置过程。
  • 实现Http Server的三种方法

    万次阅读 2017-04-26 08:39:33
    一、使用SUN公司在JDK6中提供的新包com.sun.net.httpserver   JDK6提供了一个简单的Http Server API,据此我们可以构建自己的嵌入式Http Server,它支持... Server API来实现,程序员必须自己实现HttpHandler接口,H

    一、使用SUN公司在JDK6中提供的新包com.sun.net.httpserver 


      JDK6提供了一个简单的Http Server API,据此我们可以构建自己的嵌入式Http Server,它支持Http和Https协议,提供了HTTP1.1的部分实现,没有被实现的那部分可以通过扩展已有的Http Server API来实现,程序员必须自己实现HttpHandler接口,HttpServer会调用HttpHandler实现类的回调方法来处理客户端请求,在这里,我们把一个Http请求和它的响应称为一个交换,包装成HttpExchange类,HttpServer负责将HttpExchange传给HttpHandler实现类的回调方法. 
    实现Http Server 


      实现Http Server比较简单,我就不我做解释,只要看下面的代码就能明白。 
    实现Https Server 


      HTTPS是以安全为目标的HTTP通道,简单讲是HTTP的安全版。即HTTP下加入SSL层,HTTPS的安全基础是SSL,SSL 使用证书来进行验证。对于需要使用 SSL 来保证通信安全的客户端和服务器,都必须创建证书。JSSE 使用的证书要用与 J2SE 一起发布的 Java keytool 来创建。用下列命令来为 HTTP 服务器创建一个 RSA 证书。 
    prompt> keytool -genkey -keystore serverkeys -keyalg rsa -alias qusay 
    这个命令会产生一个由别名 qusay 引用的证书,并将其保存在一个名为 serverkeys 的文件中。产生证书的时候,这个工具会提示我们输入一些信息。 

    下面代码演示了怎样创建自己的Http Server 和Https Server: 

     

    Java代码  收藏代码
    1. import java.io.IOException;   
    2. import java.io.InputStream;   
    3. import java.io.OutputStream;   
    4. import java.net.InetSocketAddress;   
    5. import com.sun.net.httpserver.HttpExchange;   
    6. import com.sun.net.httpserver.HttpHandler;   
    7. import com.sun.net.httpserver.HttpServer;   
    8. public class MyHTTPServer {   
    9.   public static void main(String[] args)   
    10.   {   
    11.     try {   
    12.       //实现HTTP SERVER   
    13.       HttpServer hs = HttpServer.create(new InetSocketAddress(8888),0);// 设置HttpServer的端口为80   
    14.       hs.createContext("/hujun"new MyHandler());// 用MyHandler类内处理到/的请求   
    15.       hs.setExecutor(null); // creates a default executor   
    16.       hs.start();   
    17.   
    18.       //实现HTTPS SERVER   
    19.       HttpsServer hss = HttpsServer.create(new InetSocketAddress(443),0);  //设置HTTPS端口这443   
    20.       KeyStore ks = KeyStore.getInstance("JKS");   //建立证书库   
    21.       ks.load(new FileInputStream("证书名" ), "密码");  //载入证书   
    22.       KeyManagerFactory kmf = KeyManagerFactory.getInstance("SunX509");  //建立一个密钥管理工厂   
    23.       kmf.init(ks, "密码");  //初始工厂   
    24.       SSLContext sslContext = SSLContext.getInstance("SSLv3");  //建立证书实体   
    25.       sslContext.init(kmf.getKeyManagers(), nullnull);   //初始化证书   
    26.       HttpsConfigurator conf = new HttpsConfigurator(sslContext);  //在https配置   
    27.       hss.setHttpsConfigurator(conf);   //在https server载入配置   
    28.       hss.setExecutor(null); // creates a default executor     
    29.       hss.createContext("/"new MyHandler());// 用MyHandler类内处理到/的请求   
    30.       hss.start();   
    31.     } catch (Exception e){   
    32.       e.printStackTrace();   
    33.     }   
    34.   }   
    35. }   
    36.   
    37. class MyHandler implements HttpHandler {   
    38.   public void handle(HttpExchange t) throws IOException {   
    39.     InputStream is = t.getRequestBody();   
    40.     String response = "<font color='#ff0000'>come on baby</font>";   
    41.     t.sendResponseHeaders(200, response.length());   
    42.     OutputStream os = t.getResponseBody();   
    43.     os.write(response.getBytes());   
    44.     os.close();   
    45.   }   
    46. }   

     

     

     

     

     

    二、使用Jetty 


      Jetty 是一个开源的servlet容器,它为基于Java的web内容,例如JSP和servlet提供运行环境。Jetty是使用Java语言编写的,它的API以一组JAR包的形式发布。开发人员可以将Jetty容器实例化成一个对象,可以迅速为一些独立运行(stand-alone)的Java应用提供网络和web连接。 


      需要最少的包: 
      commons-logging.jar 
      javax.servlet.jar 
      org.mortbay.jetty.jar 
      org.mortbay.jmx.jar 

    下面直接看代码,以嵌入模式启动Jetty,目前貌似不支持HTTPS 

     

    Java代码  收藏代码
    1. import org.mortbay.http.HttpContext;   
    2. import org.mortbay.http.HttpServer;   
    3. import org.mortbay.http.SocketListener;   
    4. import org.mortbay.http.handler.ResourceHandler;   
    5. public class JettySample {   
    6.   public static void main(String[] args) throws Exception   
    7.   {   
    8.     //创建Jetty HttpServer对象   
    9.     HttpServer server = new HttpServer();   
    10.     //在端口8080上给HttpServer对象绑上一个listener,使之能够接收HTTP请求   
    11.     SocketListener listener = new SocketListener();   
    12.     listener.setPort(8080);   
    13.     server.addListener(listener);   
    14.      
    15.     //创建一个HttpContext,处理HTTP请求。   
    16.     HttpContext context = new HttpContext();   
    17.     //用setContextPath把Context映射到(/web)URL上。   
    18.     context.setContextPath("/web");   
    19.     //setResourceBase方法设置文档目录以提供资源   
    20.     context.setResourceBase("C:\\j2sdk1.4.1_05");   
    21.     //添加资源处理器到HttpContext,使之能够提供文件系统中的文件   
    22.     context.addHandler(new ResourceHandler());   
    23.     server.addContext(context);   
    24.     //启动服务器   
    25.     server.start();   
    26.   }   
    27. }   
     

     

    Jetty的运行速度较快,而且是轻量级的,可以在Java中可以从test case中控制其运行。从而可以使自动化测试不再依赖外部环境,顺利实现自动化测试。 

     

     

     

     

    三、使用tomcat embedded 


      Tomcat5中的Embeded版本,为大家在应用中集成完整的Web服务提供了尽可能大的空间,不仅使开发者容易获得对标准HTTP的处理,还有SSL的通讯处理,使开发者很容易就可以对原有非Web系统进行扩展以支持瘦客户端应用,通向Web大门的钥匙已经放在这里,剩下的就是看你怎样来发挥了。下面是示例代码: 

     

    Java代码  收藏代码
    1. package tomcat;   
    2. import java.io.File;   
    3. import java.net.InetAddress;   
    4. import org.apache.catalina.Context;   
    5. import org.apache.catalina.Engine;   
    6. import org.apache.catalina.Host;   
    7. import org.apache.catalina.connector.Connector;   
    8. import org.apache.catalina.startup.Embedded;   
    9. public class EmbeddedTomcat {   
    10.   public static void main(String args[]) {   
    11.    try {   
    12.      // Create an embedded server   
    13.      Embedded embedded = new Embedded();   
    14.      String path = new File(".").getCanonicalPath();   
    15.      embedded.setCatalinaHome(path);   
    16.      // Create an engine   
    17.      Engine engine = embedded.createEngine();   
    18.      // Create a default virtual host   
    19.      Host host = embedded.createHost("localhost", path + "/webapps");   
    20.      engine.addChild(host);   
    21.      engine.setDefaultHost(host.getName());   
    22.      // Create the ROOT context   
    23.      Context rootCxt = embedded.createContext("", path + "/webapps/ROOT");   
    24.      rootCxt.setPrivileged(true);   
    25.      host.addChild(rootCxt);   
    26.      // Install the assembled container hierarchy   
    27.      embedded.addEngine(engine);   
    28.      // Assemble and install a default HTTP connector   
    29.      embedded.addConnector(embedded.createConnector(InetAddress.getByName("127.0.0.1"), 8080false));   
    30.      // Start the embedded server   
    31.      embedded.start();   
    32.    }catch( Exception e ) {   
    33.      e.printStackTrace();   
    34.       }   
    35.   }   
    36. }  
    展开全文
  • http-server 简介 http-server 是一个简单的零配置的命令行 http服务器,它足够强大便于生产和使用,用于本地测试和开发。 有时候我们打开一个文档使用file协议打开的时候,不能发送ajax请求,只能使用http协议才能...

    http-server 简介

    http-server 是一个简单的零配置的命令行 http服务器,它足够强大便于生产和使用,用于本地测试和开发。


    有时候我们打开一个文档使用file协议打开的时候,不能发送ajax请求,只能使用http协议才能请求资源,

    具体的区别大家可以去参考这篇文档 https://www.cnblogs.com/lishanlei/p/9327646.html,所以此时我们需要在本地建立一个http服务,通过IP加端口号,来访问资源。

    我一般的做法就是通过vscode的插件或者通过webstorm来打开,现在可以通过http-server来便捷的创建一个本地服务。


    首先需要安装nodejs

    http-server 链接

    npmjs地址

    https://www.npmjs.com/package/http-server

    github

    https://github.com/indexzero/http-server

    全局安装

    npm i http-server -g
    

    全局安装便于使用

    快速使用

    http-server
    

    输入上面命令,如果端口被占用了,它会修改端口,默认是 8080
    在这里插入图片描述

    简写

    hs
    

    在这里插入图片描述

    修改端口

    http-server <path> -a 127.0.0.1 -p 8090
    

    http-server [path] [options]

    • ****是目录地址,可以省略,默认是cmd打开的路径地址

    • -a 参数是监听地址

    • -p 参数是监听端口
      在这里插入图片描述

    其他参数

    参数 作用
    -p 或者 --port 端口设置,默认是 8080
    -a 监听地址设置默认是 0.0.0.0
    -d 是否显示文件列表 默认true
    -i 显示自动索引 默认true
    -g 或者 --gzip 默认false,当文件的gzip版本存在且请求接受gzip编码时,它将服务于./public/some-file.js.gz,而不是./public/some-file.js
    -e 或者 --ext 如果没有提供默认文件扩展名(默认为html)
    -s 或者 --silent 禁止控制台日志信息输出
    –cors 允许跨域资源共享
    -o 启动服务后打开默认浏览器
    -c 设置缓存cache-control max-age heade存留时间(以秒为单位),示例:-c1010秒,默认是3600秒,如果要禁用缓存就使用-c-1
    -U 或者 --utc 使用 UTC格式,在控制台输出时间信息
    -P 或者 --proxy 通过一个 url地址,代理不能通过本地解析的资源
    -S 或者 --ssl 使用https协议
    -C 或者 --cert ssl证书文件的路径,默认是cert.pem
    -K 或者 --key ssl密匙文件路径
    -h 或者 --help 显示帮助

    如果你运行了hs -o打开浏览器显示改网页无法正常运行的话,需要在连接在端口后面拼接上需要打开的页面

    hs -o
    无法打开页面
    Starting up http-server, serving ./
    Available on:
      http://192.168.0.198:8080
      http://127.0.0.1:8080
    

    访问的文件夹中需要有一个.html的文件,如下是一个index.html页面的话,就访问下面的页面

    http://192.168.0.198:8080/index.html
    

    Anywhere 使用

    Anywhere 随启随用的静态文件服务器

    或者你可以直接安装另一个静态文件服务器anywhere,随启随用的静态文件服务器
    具体使用方式可以去参考npm官方介绍、
    https://www.npmjs.com/package/anywhere

    展开全文
  • windows server 2016版介绍与安装

    千次阅读 2019-06-01 13:59:24
    软公司进行研发推出的Windows Server 2016正式版;它也继以前的版本进行开发的第六个Windows Server版本,许多的用户将这款软件理解成为服务器版的Windows10;它和以前的版本不相同的是,这款系统是根据处理器所运行...
  • AndServer初探

    千次阅读 2019-01-04 17:21:25
    AndServer初探 详细了解请戳这里 AndServer的github地址【https://github.com/yanzhenjie/AndServer】 AndServer文档地址【https://www.yanzhenjie.com/AndServer/】 AndServer的相关博客地址...
  • Kubernetes 之APIServer组件简介

    万次阅读 2018-09-14 17:04:54
    API Server简介 k8s API Server提供了k8s各类资源对象(pod,RC,Service等)的增删改查及watch等HTTP Rest接口,是整个系统的数据总线和数据中心。 kubernetes API Server的功能: 提供了集群管理的REST API接口...
  • 微软操作系统 Windows Server 2012 R2 官方原版镜像 Windows Server 2012 R2 是由微软公司(Microsoft)设计开发的新一代的服务器专属操作系统,其核心版本号为 Windows NT 6.3 。提供企业级数据中心与混合云解决...
  • (图文详细)AppServer安装及配置教程

    万次阅读 多人点赞 2018-06-03 12:20:50
    (图文详细)AppServ安装及配置教程 一、AppServ简介 二、下载AppServ并安装 三、检查是否成功及配置 (图文详细)AppServ安装及配置教程 一、AppServ简介 ...AppServ所包含的软件有:Apac...
  • springboot tomcat的配置选项大全

    万次阅读 2017-03-23 19:11:24
    server. Port = xxxx server. Address = server. contextPath = server. displayName = server. servletPath = server. contextParameters = server. useForwardHeaders = server. serverHeader =
  • The Tomcat server configuration at \Servers\Tomcat v7.0 Server at localhost-config is missing. Check the server for errors. 原因不小心删除了Project Explorer下的Server 解决方法: 1.删除Server下的...
  • Winows Server 2019 激活正确姿势!

    万次阅读 多人点赞 2020-03-24 17:44:28
    前两天发现Server2019出了正式版,准备安装一个玩玩。发现到处找不到激活码,搜到一个CSDN博客的给提供了两个激活码,但是对正式版都不能用。 我这里安装的是Windows Server 2019 Standard版本 Windows Server 2019 ...
  • SqlServer_查看SQLServer版本信息

    万次阅读 2018-03-22 11:32:05
    执行sql语句: SELECT @@VERSION ... Microsoft SQL Server 2008 R2 (RTM) - 10.50.1600.1 (X64) Apr 2 2010 15:48:46 Copyright (c) Microsoft Corporation Enterprise Edition (64-bit...
  • nginx host和default_server

    万次阅读 2019-04-01 20:43:09
    1 URL和Host的区别:URL负责找到服务器,到服务器上时解析靠server_name匹配Host 2 浏览器上的host默认会自动从URL上解析(例如URL: tom.com/login host会设置成tom.com) 3 nginx上host匹配不到server会走default...
  • Server Tomcat v8.0 Server at localhost was unable to start within 45 seconds. If the server requires more time, try increasing the timeout in the server editor.问题描述:OS:Windows 7 x64Eclipse:...
  • navicat连接sqlserver数据库

    万次阅读 2017-08-14 11:13:39
    一、nacicat连接本地sqlserver数据库  二、nacicat连接远程sqlserver数据库
  • Server Tomcat v8.5 Server at localhost failed to start问题简单的解决办法 遇到这种问题,应该是web.xml的问题,多添加了 原因:创建servlet类时,系统中会自动添加@WebServlet("/Servlet类名");然后我们自己在...
  • Could not publish server configuration for Tomcat v8.0 Server at localhost. Context with path "/WebDemo" conflicts with another Context with path "/webdemo". ...
  • 主要解决sqlserver 2008 R2不能在windows server 2012 R2上安装,需要集成sp2.   1.将安装文件sqlserver 2008 R2解压为f:\sqlserver2008R2   2.将sqlserver 2008 R2的SP2文件解压到f:\sqlserver2008R2\sp...
1 2 3 4 5 ... 20
收藏数 3,869,367
精华内容 1,547,746
关键字:

server