读书人

cs代码改BS,该怎么处理

发布时间: 2013-11-23 10:52:51 作者: rapoo

cs代码改BS
哪位大侠帮我把下面的CS代码改成BS的
代码工作的原理就是SOCKET接收数据后刷新gridview 要测试通过的
这是第六百分了 还是没有解决


private delegate void ShowMsg(string strMsg);
private ShowMsg SM;
DataTable dt = new DataTable();
protected void Page_Load(object sender, EventArgs e)
{
SM += new ShowMsg(SetLabel);

dt.Columns.Add("yvalue", typeof(string));
dt.Rows.Add();
}
private void SetLabel(string strMsg)
{

gvOpint.DataSource = dt;
gvOpint.DataBind();
}
protected void Button1_Click1(object sender, EventArgs e)
{
Sockelisten();

}
void Sockelisten()
{

IPAddress ips = Dns.GetHostAddresses(Dns.GetHostName())[0];
IPEndPoint ip = new IPEndPoint(IPAddress.Parse("192.168.2.59"), 6666);
Socket soc = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
soc.Bind(ip);
soc.Listen(10);
Socket hander = soc.Accept();
while (true)
{
byte[] bytes = new byte[1024];
int len = hander.Receive(bytes);
string st = Encoding.Default.GetString(bytes);
dt.Rows.Add();
dt.Rows[dt.Rows.Count - 1][0] = st;

GridView.Invoke(SM); //这一句代码在CS中是会报错的

Thread.Sleep(1000);
}
}

[解决办法]
B/S和C/S的工作原理是不一样的,你的这个Socket目前是无法实现,或者说技术上不太成熟的,你浏览器所看到的所有内容,都是执行在服务器端,并将结果html返回的。你看到的只是呈现而已

既然要改成BS架构的,那么就要从思维和观念上先改变,CS操作的本地机器的内容,所以你监听端口也好等等操作,这些资源都是可控的,而BS的所有操作,其实都是将请求发送到服务器端,由服务端执行。

你还是首先了解下B/S的情况吧
[解决办法]
引用:
B/S和C/S的工作原理是不一样的,你的这个Socket目前是无法实现,或者说技术上不太成熟的,你浏览器所看到的所有内容,都是执行在服务器端,并将结果html返回的。你看到的只是呈现而已

既然要改成BS架构的,那么就要从思维和观念上先改变,CS操作的本地机器的内容,所以你监听端口也好等等操作,这些资源都是可控的,而BS的所有操作,其实都是将请求发送到服务器端,由服务端执行。

你还是首先了解下B/S的情况吧
+1
[解决办法]
为什么不用ajax定时去轮询呢?
[解决办法]
setTimeout( "ajax请求" , 1000 );

ajax请求:$.ajax.....


[解决办法]
放个TIMER 定时刷吧
[解决办法]
引用:
Quote: 引用:

B/S和C/S的工作原理是不一样的,你的这个Socket目前是无法实现,或者说技术上不太成熟的,你浏览器所看到的所有内容,都是执行在服务器端,并将结果html返回的。你看到的只是呈现而已

既然要改成BS架构的,那么就要从思维和观念上先改变,CS操作的本地机器的内容,所以你监听端口也好等等操作,这些资源都是可控的,而BS的所有操作,其实都是将请求发送到服务器端,由服务端执行。

你还是首先了解下B/S的情况吧


那按你的意思是这东西用BS无法实现?不会吧??这是老大交给我的任务 还说这两天就要的
我因为这些年都是做CS BS基本也是做ERP什么的 像AJAX轮询什么的很生疏 所以老大给任务的时候我还特意问了用BS还是CS 结果老大要BS的 好蛋疼啊 CS半个小时就可以了 偏要我用BS 我该怎么办 小弟还在试用期啊 苦逼

也就是上面几楼说的,使用ajax定时刷新,不断请求,以模拟服务器的推送功能。我以前做BS是,经常使用AjaxPro来出来Ajax的,其他的都是js的写法,只要简单了解下AjaxPro的用法,就OK了
http://www.cnblogs.com/lexus/archive/2007/11/29/977281.html
这个AjaxPro的教程,是比较简单的,很容易的,你操作下,或者直接在项目中使用也可以,JS方面就看你的基础了,不行在了解学习下js。
还是那句话,改变思想,你做的是B/S,而不是C/S
[解决办法]
ajax局部刷新技术可以解决你的问题
[解决办法]
ajax长轮询
[解决办法]

顶贴,记得给分哦,亲。
[解决办法]
cs代码改BS,该怎么处理顶贴,记得给分哦,亲

读书人网 >C#

热点推荐