【急】c#服务器用套接字与android服务端互通训,要双向的,我自己写了一个,不成功,求例子,求指导,急啊 本帖最后由 edfdfg 于 2014-09-13 17:58:47 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 淡定 网上教程很多,找本android书,应该有这方面的教程 Java端两个问题1. static Socket client; 在实例方法中使用并且没有做同步, 去掉static,否则多线程发送就全乱了2.服务端因为你已经用了独立线程处理,所以写个读用阻塞执行不会有什么影响,客户端发送时直接在主线程中同步发送再读取就不太可取了,发送到接收,你用的是Thread.sleep(1000); 这个时间你是如何确定的?C#中通常的做法是异步发送和读取BeginSend(datas, OnReadReplayCallback, stateObj)void OnReadReplayCallback(IAsyncResult asyncResult){ while(读到数据) 写入缓存 if(缓存不为空) 触发接受到数据的事件或委托 }这样程序就不用阻塞了,并且也会按照顺序正确执行上面只是供参考的思路 神奇的return语句 竟然一个方法中执行了两个return 不解 数据存储与访问的问题 android GridView排版问题 PC上发布了一个WEB服务,怎么把她展现到手机模拟的浏览器上? android listVie的相关问题 麻烦给一份android系统源代码? android开发中客户端数据上传到服务器上 Android新手求助 如何获取ListView的Item的高度 求助 Android Studio 问题 怎么做Android原生应用开发 Android星盘Application开发
1. static Socket client; 在实例方法中使用并且没有做同步, 去掉static,否则多线程发送就全乱了
2.服务端因为你已经用了独立线程处理,所以写个读用阻塞执行不会有什么影响,客户端发送时直接在主线程中同步发送再读取就不太可取了,发送到接收,你用的是Thread.sleep(1000); 这个时间你是如何确定的?C#中通常的做法是异步发送和读取BeginSend(datas, OnReadReplayCallback, stateObj)
void OnReadReplayCallback(IAsyncResult asyncResult)
{
while(读到数据) 写入缓存
if(缓存不为空) 触发接受到数据的事件或委托
}
这样程序就不用阻塞了,并且也会按照顺序正确执行
上面只是供参考的思路