JAVA Android客户端源码:
post=" ";
Thread SendMsgTD = new Thread(new Runnable()
{
@Override
public void run()
{
try {
final Socket client = new Socket( "119.33.123.103", 10000);
final InputStream in = client.getInputStream();
final OutputStream out = client.getOutputStream();
Thread GetMsgTD = new Thread(new Runnable()
{
@Override
public void run()
{
try {
System.out.println("读取开始");
Reader reader = new InputStreamReader(in,"gb2312");
CharBuffer charBuffer = CharBuffer.allocate(20000);
int index = -1;
while((index=reader.read(charBuffer))!=-1)
{
System.out.println(String.valueOf(index));
charBuffer.flip();
System.out.println("client:"+charBuffer.toString());
}
} catch (Exception e) {
e.printStackTrace();
}
}
});
GetMsgTD.start();
while(true)
{
if(post.replace(" ", "")!="")
{
out.write(post.getBytes("gb2312"));
post=" ";
}
}
}
catch (UnknownHostException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
},"");
SendMsgTD.start();
static IPAddress localIP = IPAddress.Parse("119.33.123.103");//("10.105.41.25");
static int localPort = 10000;
static TcpListener listener = new TcpListener(localIP, localPort);//用本地IP和端口实例化Listener
static void Main(string[] args)
{
listener.Start();//开始监听
client = listener.AcceptTcpClient();//接受一个Client
buffer = new byte[client.ReceiveBufferSize];
stream = client.GetStream();//获取网络流
Thread t = new Thread(GetMsg);
t.Start();
while (true)
{
Byte[] bt = System.Text.Encoding.GetEncoding("GB2312").GetBytes(sends);
stream.Write(bt, 0, bt.Length);
Thread.Sleep(5000);
}
}
static void GetMsg()
{
while (true)
{
stream.Read(buffer, 0, buffer.Length);//读取网络流中的数据
receiveString = Encoding.Default.GetString(buffer).Trim('\0');//转换成字符串
Console.WriteLine(receiveString);
}
}