Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/315.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我的Java服务器和本地客户端之间的通信_Java_Rest_Client_Communication - Fatal编程技术网

我的Java服务器和本地客户端之间的通信

我的Java服务器和本地客户端之间的通信,java,rest,client,communication,Java,Rest,Client,Communication,我一直在写EasyJavaServer。我将把这段代码部署到我学生的服务器上并在那里运行 public class Demo { public static void main(String[] args) { String port = "50000"; ServerAttributes attr = new ServerAttributes(); attr.setPort(Integer.parseInt(port));

我一直在写EasyJavaServer。我将把这段代码部署到我学生的服务器上并在那里运行

public class Demo {

    public static void main(String[] args) {

        String port = "50000";

        ServerAttributes attr = new ServerAttributes();
        attr.setPort(Integer.parseInt(port));

        Socket socket = null;
        ServerSocket serverSocket= null;

        try {
            serverSocket = new ServerSocket(attr.getPort());
            System.out.println("Waiting for accept...");

            while(true) {
                socket = serverSocket.accept();
                // TODO

                socket.close();
            }

        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

    }

}
我想创建简单的客户端代码,它将与我的服务器“对话”。通信客户端->服务器很容易。我的服务器对客户端可见。但是我应该怎么做才能以另一种方式提供沟通呢

也许休息是个好主意?那么,我如何“教”我的服务器回答REST查询呢

我有一段代码将数据发送到我的GAE服务器:

package enceladus.server.trash.rest;


import java.io.IOException;
import java.util.ArrayList;
import java.util.List;

import org.apache.http.HttpResponse;
import org.apache.http.NameValuePair;
import org.apache.http.client.HttpClient;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.message.BasicNameValuePair;

public class RESTGAEServer {
    static String httpAddress = "http://*********.appspot.com/sign";

    public static void main(String[] args) {
        HttpClient client = new DefaultHttpClient();
        HttpPost post = new HttpPost(httpAddress);

        try {

            List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();


            nameValuePairs.add(new BasicNameValuePair("guestbookName", "default"));                     
            nameValuePairs.add(new BasicNameValuePair("content", "TEST"));

            post.setEntity(new UrlEncodedFormEntity(nameValuePairs));

            @SuppressWarnings("unused")
            HttpResponse response = client.execute(post);

        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}
包enceladus.server.trash.rest;
导入java.io.IOException;
导入java.util.ArrayList;
导入java.util.List;
导入org.apache.http.HttpResponse;
导入org.apache.http.NameValuePair;
导入org.apache.http.client.HttpClient;
导入org.apache.http.client.entity.UrlEncodedFormEntity;
导入org.apache.http.client.methods.HttpPost;
导入org.apache.http.impl.client.DefaultHttpClient;
导入org.apache.http.message.BasicNameValuePair;
公共类RESTGAEServer{
静态字符串httpAddress=“http://********.appspot.com/sign”;
公共静态void main(字符串[]args){
HttpClient=new DefaultHttpClient();
HttpPost=新的HttpPost(httpAddress);
试一试{
List nameValuePairs=新的ArrayList();
添加(新的BasicNameValuePair(“guestbookName”、“default”);
添加(新的BasicNameValuePair(“内容”、“测试”);
setEntity(新的UrlEncodedFormEntity(nameValuePairs));
@抑制警告(“未使用”)
HttpResponse response=client.execute(post);
}捕获(IOE异常){
e、 printStackTrace();
}
}
}

提前感谢

如果您试图从服务器提供RESTFul服务,那么这不是一项容易的任务。您可能想要做的是使用类似Restlet的东西来引导您的RESTFul服务器和客户机


有关更多信息,请参阅

如果您试图从服务器提供RESTFul服务,这不是一项容易的任务。您可能想要做的是使用类似Restlet的东西来引导您的RESTFul服务器和客户机


有关更多信息,请参阅

REST是一种非常简单的客户端和服务器之间的通信方式。REST基本上是说,使用HTTP的方式就是它应该被使用的方式,即使在计算机程序之间进行通信时也是如此

如果您没有足够的知识,请阅读HTTP。这里有一个很好的文件:

一旦您了解了如何在客户端和服务器上发送和接收HTTP消息,就可以开发RESTful服务器API:s了

关于REST,您需要知道的是,它主要是您设计API时的一种思维方式。确保充分利用HTTP,并以任何格式(通常是JSON、XML或UrlEncoded键/值对)发送/接收数据

我想说,与在学习REST的同时尝试学习Restlet或其他大型库相比,您自己做这件事要好得多。REST和HTTP都是很简单的东西——一旦你开始“它只是一些返回到第四个的文本”。当您完全理解这些内容时,您可以查看一些框架

以下是有关REST的一些信息:
REST是一种非常简单的客户端和服务器之间的通信方式。REST基本上是说,使用HTTP的方式就是它应该被使用的方式,即使在计算机程序之间进行通信时也是如此

如果您没有足够的知识,请阅读HTTP。这里有一个很好的文件:

一旦您了解了如何在客户端和服务器上发送和接收HTTP消息,就可以开发RESTful服务器API:s了

关于REST,您需要知道的是,它主要是您设计API时的一种思维方式。确保充分利用HTTP,并以任何格式(通常是JSON、XML或UrlEncoded键/值对)发送/接收数据

我想说,与在学习REST的同时尝试学习Restlet或其他大型库相比,您自己做这件事要好得多。REST和HTTP都是很简单的东西——一旦你开始“它只是一些返回到第四个的文本”。当您完全理解这些内容时,您可以查看一些框架

以下是有关REST的一些信息:

…这是一本关于REST的好书:…这是一本关于REST的好书: