关于客户端和服务端通信方式的一些实验

原创 2007年09月19日 12:53:00

作者:elle   日期:2007.09.19

上次对登入功能和面向对象的一些内容做了点小节。

这几天事情不多,早上用些时间写点最近做的一些内容。现在还是以登入功能为基础来说明手机客户端和服务器间的交互。

 

⇒⇒⇒

之前客户端要发送参数到服务器是通过设置请求头来实现,例如:

connection.setRequestProperty("uname",userName);

服务端接收参数如下:

String username = request.getHeader("uname");

这样就可以进行简单的交互了。

 

 

⇒⇒⇒

最近有看一些关于图片上传的资料,就做了些关于数据流传输数据的实验。现在以上次的登入功能为基础,把传递的参数改为数据流的形式进行传输。

客户端主要代码如下:

   dos = conn.openDataOutputStream();//dos为DataOutputStream对象,conn为HttpConnection对象
       dos.writeUTF(City); //City是一个字符串                                 
   dos.writeUTF(Road);//Road是一个字符串  
   dos.flush();
   dos.close();

 

对应的服务端的接收代码块为:

 

InputStream is = request.getInputStream();
        DataInputStream dis 
= new DataInputStream(is);

        OutputStream os 
= response.getOutputStream();
        DataOutputStream dos 
= new DataOutputStream(os);
        
try{
            String City 
= dis.readUTF();
            String Road 
= dis.readUTF();
            System.out.println(City 
+ "   " + Road + "******");
            is.close();
            dis.close();

            String responseStr 
= "true";
            dos.writeUTF(responseStr);
            System.out.println(responseStr);
            os.close();
            dos.close();

        }
 catch (Exception ex) {
            ex.printStackTrace();
        }

 

 这样客户端和服务器的通信就基本完成了,当然在实际的项目中对多媒体文件的传输要复杂的多,现在做的只是给初学者一个大的轮廓(偶也只是初学者而已,有什么说得不准的请大家多指点哈)。

这边想到一个问题,比如服务端多写个语句:String Anthor = dis.readUTF();则会出现错误。很明显,是因为客户端的输出流中并没有第三个字符串,那同一个数据流中是如何区分不同的数据,不同数据间有什么标志位呢?

这个我还不明白,有哪位有这方面的经验的还请多指教啊。

先写这么多吧,吃饭了。 

相关文章推荐

linux网络编程之用socket实现简单客户端和服务端的通信(基于UDP)

1、sendto和recvfrom函数介绍 sendto(经socket传送数据) 相关函数 send , sendmsg,recv , recvfrom , socket 表头文...

linux网络编程之用socket实现简单客户端和服务端的通信(基于TCP)

一、介绍基于TCP协议通过socket实现网络编程常用API 1、读者如果不是很熟悉,可以先看我之前写的几篇博客,有socket,地址结构的理解,更加方便读者理解 地址分别是: 1)、htt...

socket通信客户端和服务端代码

  • 2012年11月14日 16:30
  • 315KB
  • 下载

C#socket通信(客户端和服务端)

  • 2016年10月25日 21:44
  • 685KB
  • 下载

写一个Tomcat+Okhttp实现的聊天websocket聊天框架(一)-- 完成客户端和服务端的通信

今年的重点就是跟网络刚,学习网络没有个服务端技术是不行的,tomcat7之后支持websocket协议。初步构想是,实现一个服务端使用Tomcat ,客户端使用Okhttp的websocket聊天框架...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:关于客户端和服务端通信方式的一些实验
举报原因:
原因补充:

(最多只允许输入30个字)