注册
找回密码
登录
Android
关于 Android
Android 首页
最新主题
最新被回复主题
最新无回复主题
登录
注册
找回密码
应用程序
学习教育
生活类
工具
多媒体
财务金融
商务
娱乐
游戏
创建新主题
开发者
开发讨论
新闻动态
开发资源
创建新主题
其他
活动聚会
咖啡
外语
站务
创建新主题
gPhone
HTC
Acer
摩托罗拉
创建新主题
工具
搜索
参考文档搜索
Shuffle 首页
Remix 首页
切换语言
English
Deutsch
中文
Google Custom Search
Web
nanshapo
搜索
RSS
最新无回复主题
最强主题排行
会员登录历史
注册会员总数
1005
讨论
8470
收藏
16
据点
7
印迹
4
博客
7
Developer Zone
Technorati Profile
Hosted by
Nanshapo Alliance
Android
>
开发者
>
开发讨论
> Java(android) 与CSharp间可行的通讯方法
机器人
地球
95.805%
disconnected
登录后回复主题
|
跳到回复
Java(android) 与CSharp间可行的通讯方法
... by 机器人 ... 20 月 6 天前 ... 129 次点击
怎么样通过socket实现android 与pc端通信
下面代码没看明白,关于ip 与端口该怎么定义
http://www.androidres.com/?p=405
PC: CSharp ServerAndroid:Java Client通过上边的例子,本人通过一些转换,实现了Android与CSharp Server的通讯方法。原理没有太大差异,仅仅是应用的方法稍有不同。
CSharp Server 源代码:
01.TcpClient ConnectedClient = ServerListener.AcceptTcpClient();
02.
03.NetworkStream netStream = ConnectedClient.GetStream();
04.
05.BinaryReader br = new BinaryReader(netStream);
06.
07.byte[] tempByte = new byte[8192];
08.
09.tempByte = br.ReadBytes(8192);
10.
11.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.
3.tempByte = br.ReadBytes(8192);
4.
5.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("192.168.0.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("192.168.0.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();
Android Widget开发(转)
|
Android 开发环境安装手册
创建新主题
...
目前这个主题还没有回复,或许你可以帮楼主加盖一层?
在回复之前你需要先进行登录
电子邮件或昵称
密码
回到顶部
|
开发讨论
|
返回 Android 首页
|
注册
|
找回密码
© 2009 A
Nanshapo
Production
-
About