2011-04-18 81 views
2

我编写了一个Java应用程序,用于我的Android手机,它使用套接字连接来发送和接收文本数据,它使用的很好,它使用PrintWriterBufferedReader很多人在使用HTTP连接的过程中说过。我希望能够通过这个机会来确定HTTP与Sockets的区别在哪里,所以我希望你能帮助我解决以下问题。HTTP和套接字:

1)我创建使用以下

服务器端的套接字连接:

serverSocket = new ServerSocket(4444); 

客户端:

clientSocket = new Socket(address, portNumber); 

那么会是什么HTTP相当于在客户端和服务器上双方?

2)从客户端发送数据给我做了以下服务器:

pw = new PrintWriter(clientSocket.getOutputStream(),true); 

    pw.write(AStringVariableInThisCase+"\n"); 
    pw.flush(); 

什么将是一个HTTP连接中的正确方式?

3)收到从客户端发送的数据,在服务器端我做到以下几点:

BufferedReader br = new BufferedReader(new InputStreamReader(clientSocket.getInputStream())); 
    String language = br.readLine(); 

什么是等价使用HTTP连接?

我设计的程序允许数据通过服务器使用自己的一组类来回传递,并继续使用PrintWriter和BuferedReader来完成。

感谢您的任何帮助,您可以分辨差异。

回答

0

主要区别在于HTTP的结构是一个事务而不是一个连接。交易的客户端必须提供具有特定格式和信息的标题,并且回复将以一些标题行开始。一个事务完成后,HTTP通常关闭 连接。

2

HTTP是协议。它(通常)通过套接字使用。

Java提供了HttpUrlConnection class,以便通过套接字使用HTTP。

+0

嗨,布莱恩,所以我会继续使用套接字连接,同时以不同的方式提供数据? – 2011-04-19 21:02:09