Android与PC通讯的例子

PC: CSharp Server
Android:Java Client
CSharp Server 源代码:

TcpClient ConnectedClient = ServerListener.AcceptTcpClient();
NetworkStream netStream = ConnectedClient.GetStream();

BinaryReader br = new BinaryReader(netStream);

byte[] tempByte = new byte[8192];

tempByte = br.ReadBytes(8192);

string RecevieString = System.Text.Encoding.Default.GetString(tempByte);

对上边的源代码做一些介绍:
通过TcpListener获得的Client信息创建一个TcpClient对象。
  1. TcpClient ConnectedClient = ServerListener.AcceptTcpClient();
复制代码
从TcpClient对象中提取NetworkStream对象,其目的是建立Socket数据流。
  1. NetworkStream netStream = ConnectedClient.GetStream();
复制代码
建立BinaryReader对象为刚刚创建的NetworkStream提供一个接口,借助于这个接口可以非常方便的读取信息。
  1. BinaryReader br = new BinaryReader(netStream);
复制代码
读取Stream中的byte array数据,转化为string字符串。
  1. byte[] tempByte = new byte[8192];

  2. tempByte = br.ReadBytes(8192);
  3. string RecevieString=System.Text.Encoding.Default.GetString(tempByte);
复制代码
Android Client 源代码:
这个Android Client所应用的方法与第一个例子中有很大区别,请各位特别注意(通过本人的反复验证,这个算是Java 与CSharp间可行的通讯方法)。
  1. String message = "AndroidRes,Where is my Pig (Android)?";
  2. Socket socket = new Socket("110.149", 51706);
  3. OutputStream ops=socket.getOutputStream();
  4. DataOutputStream dos=new DataOutputStream(ops);
  5. dos.write(message.getBytes());
  6. dos.close();
复制代码
对上边的源代码做一些介绍:
同样是建立Socket对象。
  1. Socket socket = new Socket("110.149", 51706);
复制代码
根据Socket对象创建OutputStream对象,根据名称可以很容易的理解这个对象的目的,它是建立一个输出的NetworkStream。
  1. OutputStream ops=socket.getOutputStream();
复制代码
DataOutputStream类似于BinaryWriter,是为OutputStream建立一个接口,可以通过这个接口向Socket另外一端写数据。
  1. DataOutputStream dos=new DataOutputStream(ops);
复制代码
最后这两行代码是实施写的过程。
  1. dos.write(message.getBytes());
  2. dos.close();
复制代码

转载于:https://www.cnblogs.com/dynasty/archive/2011/03/03/1970058.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值