我的Java服务器和本地客户端之间的通信
我一直在写EasyJavaServer。我将把这段代码部署到我学生的服务器上并在那里运行我的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));
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的好书: