求一个简单的socket程序的代码 打开一个网页,和一台设备(设备的IP和端口可以从数据库里面查询得到)建立SOCKET连接,然后发送一个获取该设备的报文,并且接收返回的参数,然后再网页上显示出来。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 using System.Net.Sockets ; //使用到TcpListen类using System.Threading ; //使用到线程 using System.IO ; //使用到StreamReader类 int port = 8000; //定义侦听端口号 private Thread thThreadRead; //创建线程,用以侦听端口号,接收信息 private TcpListener tlTcpListen; //侦听端口号 private bool blistener = true; //设定标示位,判断侦听状态 private.NetworkStream nsStream; //创建接收的基本数据流 private StreamReader srRead; private System.Windows.Forms.StatusBar statusBar1; private System.Windows.Forms.Button button1; private System.Windows.Forms.ListBox listBox1; //从网络基础数据流中读取数据 private TcpClient tcClient ; private void Listen ( ) { try { tlTcpListen = new TcpListener ( port ) ; //以8000端口号来初始化TcpListener实例 tlTcpListen.Start ( ) ; //开始监听 statusBar1.Text = "正在监听..." ; tcClient = tlTcpListen.AcceptTcpClient ( ) ; //通过TCP连接请求 nsStream = tcClient.GetStream ( ) ; //获取用以发送、接收数据的网络基础数据流 srRead=new StreamReader(nsStream);//以得到的网络基础数据流来初始化StreamReader实例 statusBar1.Text = "已经连接!"; while( blistener ) //循环侦听 { string sMessage = srRead.ReadLine();//从网络基础数据流中读取一行数据 if ( sMessage == "STOP" ) //判断是否为断开TCP连接控制码 { tlTcpListen.Stop(); //关闭侦听 nsStream.Close(); //释放资源 srRead.Close(); statusBar1.Text = "连接已经关闭!" ; thThreadRead.Abort(); //中止线程 return; } string sTime = DateTime.Now.ToShortTimeString ( ) ; //获取接收数据时的时间 listBox1.Items.Add ( sTime + " " + sMessage ) ; } } catch ( System.Security.SecurityException ) { MessageBox.Show ( "侦听失败!" , "错误" ) ; } } //开始监听 private void button1_Click(object sender, System.EventArgs e) { thThreadRead = new Thread ( new ThreadStart ( Listen ) ); thThreadRead.Start();//启动线程 button1.Enabled=false; } // 清理所有正在使用的资源。 protected override void Dispose( bool disposing ) { try { tlTcpListen.Stop(); //关闭侦听 nsStream.Close(); srRead.Close();//释放资源 thThreadRead.Abort();//中止线程 } catch{} if( disposing ) { if (components != null) { components.Dispose(); } } base.Dispose( disposing ); } 打开一个网页,和一台设备(设备的IP和端口可以从数据库里面查询得到)建立SOCKET连接,然后发送一个获取该设备的报文,并且接收返回的参数,然后再网页上显示出来。不太可能吧.网页里.可不能操作这个啊.activex也没权限啊. 就是有一个网页是用来显示一台设备的配置参数的,当用户打开这个网页的时候,就通过socket的方式获取那台设备的配置参数(以字符串形式,然后再解析)。 1F朋友发的程序已经收到,正在研究,十分感谢:)不过还是有点不太明白的地方,这次时间紧,我又从来没写过socket的东西,1F给的代码在web中能用么? 在GridView里面怎样用事件添加行 数据库两张表中的数据能否连续的显示在图表中??????? 客户端验证问题......................................................................................................................... 如何控制文件的复制、下载 包加载失败 怎样横向显示gridview(或循环)中的数据 asp.net写的网店 请教几个有关FreeTextBox的问题 LeapFTP软件上传问题 请问一个ASP.NET的URL的问题?请帮忙,谢谢! 【急】SQL 查询语句把日期的月变成英文! asp动态链接问题
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货