Android 如何将一些数据作为参数(如套接字中的http参数)传递?
我正在使用安卓1.6。在我的办公室里有一个应用程序,它通过HTTP post方法发送一些数据 我想添加一个模块,通过套接字发送数据。我通过套接字(输出流)正确发送数据。它在服务器端(c#套接字应用程序)套接字应用程序中正确接收数据 但在HTTPPOST方法中,一些数据作为参数传递。我无法在套接字中找到任何方法来发送一些数据作为参数,以及流中的一些数据 下面是我通过outpustream通过套接字发送数据的代码Android 如何将一些数据作为参数(如套接字中的http参数)传递?,android,sockets,android-networking,android-1.6-donut,Android,Sockets,Android Networking,Android 1.6 Donut,我正在使用安卓1.6。在我的办公室里有一个应用程序,它通过HTTP post方法发送一些数据 我想添加一个模块,通过套接字发送数据。我通过套接字(输出流)正确发送数据。它在服务器端(c#套接字应用程序)套接字应用程序中正确接收数据 但在HTTPPOST方法中,一些数据作为参数传递。我无法在套接字中找到任何方法来发送一些数据作为参数,以及流中的一些数据 下面是我通过outpustream通过套接字发送数据的代码 socket=new Socket(this.ipAdd
socket=new Socket(this.ipAddress,this.port_number);
//socket.setSocketImplFactory(fac)
Log.i(tagName, "after creating sokcet");
os=socket.getOutputStream();
is=socket.getInputStream();
dos=new DataOutputStream(os);
Log.i(tagName, "after creating ouput streams");
dis=new DataInputStream(is);
Log.i(tagName, "after creating input streams");
//dos.writeUTF(msg[i].trim());
//dos.write(msg[i].trim().getBytes());
//dos.writeUTF(msg[i].trim());
dos.write(msg[i].trim().getBytes()); //data written as bytes
//dos.writeUTF(str)
dos.flush();
Log.i(tagName, "after writing data to os");
StringBuilder sbuilder=new StringBuilder();
///*
int ch;
byte bt=1;
while((bt=(byte) dis.read())!=-1)
{
Log.i(tagName, "ch="+bt);
byte temp[]=new byte[1];
//temp[0]=(byte)ch;
temp[0]=(byte)bt;
String tempStr1=new String(temp);
Log.i(tagName, "tempstr:"+tempStr1);
sbuilder.append(tempStr1);
Log.i(tagName, "Data fro server : "+sbuilder.toString());
tempStr1=null;
}
//*/
//byte tt[]=new byte[dis.readLine()]
//resultStr=dis.readLine();resultStr=resultStr.trim();
resultStr=sbuilder.toString();
Log.i(tagName, "server res :"+resultStr);
if(dos!=null)
{
try
{
dos.close();
}
catch(Exception ex)
{
}
}
if(dis!=null)
{
try
{
dis.close();
}
catch(Exception ex){}
}
if(socket!=null)
{
try
{
socket.close();
}
catch(Exception ex)
{
}
}
上面的代码片段工作正常
但在HTTPPOST方法中,用户名和密码作为参数,而流中的实际数据则作为参数。这样,我想在参数中发送用户名和密码,在流中发送实际的用户名和密码。我找到了解决方案。
我们不能像套接字连接中的http参数那样将数据作为参数发送。
我们只能以流的形式发送数据。
在服务器端,我们可以编写代码来解析来自流的数据 谢谢