如何使Android客户端通过socket与delphi的服务端通讯
andriod代码如下
Button b_send=(Button) findViewById(R.id.send_button);
b_send.setOnClickListener(new Button.OnClickListener()
{
@Override
public void onClick(View arg0)
{
EditText e_send =(EditText) findViewById(R.id.send_edit);
TextView t_send=(TextView) findViewById(R.id.send_textview);
String mesg=e_send.getText().toString();
try
{
socket=new Socket("168.0.0.205",4321);
PrintWriter out=new PrintWriter( new BufferedWriter(new OutputStreamWriter(socket.getOutputStream())),true);
out.println(mesg);
out.close();
}
}
catch (UnknownHostException e)
{
e.printStackTrace();
}
catch (IOException e)
{
e.printStackTrace();
}
}
delphi代码如下:(使用的INDY组件)
procedure TForm1.IdTCPServer1Execute(AThread: TIdPeerThread);
var
wlm_buff: array[0..255] of Byte;
wlm_char: string[255];
begin
StrCopy(@wlm_buff[0], #0);
if AThread.Connection.Connected then
begin
AThread.Connection.ReadBuffer(wlm_buff, 255);
CopyMemory(@wlm_char, @wlm_buff[0], 255);
Label1.Caption := wlm_char;
end;
end;