-
socket
socket编程实现服务端与客户端互发消息(exchange message between server and client)
- 2011-04-29 01:32:40下载
- 积分:1
-
TCP
一个简单的TCP聊天程序,使用winsock api实现。(A simple TCP chat program)
- 2010-03-14 14:26:44下载
- 积分:1
-
200712714322529943
通达信自定义选股插件程序,嵌入通达信,输入某个参数,然后根据相关的股票行情数据计算,然后输出我需要的数据。(Letter custom stock access plug-ins, embedded access to the letter, enter a parameter, and then stocks in accordance with the relevant data, and then output the data I need.)
- 2009-06-19 22:05:46下载
- 积分:1
-
基于EF+WCF的通用三层架构 含解析 附源码
本项目结合EF 4.3及WCF实现了经典三层架构,各层面向接口,WCF实现SOA,Repository封装调用,在此基础上实现了WCFContext,动态服务调用及一个分页的实例。
- 2013-03-13下载
- 积分:1
-
GetHostNameIP
一个有关获取主机名和IP地址的MFC程序,对于初学者来说很有帮助(For information about obtaining a host name and IP address of the MFC, very helpful for beginners)
- 2013-08-22 10:58:23下载
- 积分:1
-
c# 扫描IP Http Header
c# 扫描IP Http Headerusing System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;using System.Threading;using System.IO;namespace HScan{ public partial class Form1 : Form { int _currentThreads = 0; int _maxThreads = 100; Thread main = null; Thread mt = null; List threads = new List(); public Form1() { InitializeComponent(); Control.CheckForIllegalCrossThreadCalls = false; } private void btnStart_Click(object sender, EventArgs e) { btnStart.Enabled = false; if (txtStart.Text.Trim() == "") { MessageBox.Show("起始IP不能为空."); return; } if (txtEnd.Text.Trim() == "") { MessageBox.Show("结束IP不能为空."); return; } int ts = Convert.ToInt32(txtThreads.Text); _maxThreads = ts; string startIp = txtStart.Text; string endIp = txtEnd.Text; TParameter tp=new TParameter(); tp.StartIp=startIp; tp.EndIp=endIp; tp.ThreadCount=ts; main = new Thread(new ParameterizedThreadStart(StartMe)); main.Start(tp); } protected void ThreadManage() { Thread c=null; while (true) { System.Object lockThis = new System.Object(); lock (lockThis) { for (int i = 0; i < threads.Count; i ) { if (threads[i] != null && !threads[i].IsAlive) { c = threads[i]; break; } } if (c != null) { threads.Remove(c); } } } } protected void StartMe(object ob) { mt = new Thread(new ThreadStart(ThreadManage)); mt.Start(); TParameter p = ob as TParameter; string curIp = p.StartIp; while (true) { for (int i = 0; i < _maxThreads; i ) { if (curIp != "") { if (_currentThreads >= _maxThreads) break; System.Object lockThis = new System.Object(); lock (lockThis) { _currentThreads ; if (_currentThreads > _maxThreads) _currentThreads = _maxThreads; string tip = curIp; Thread t = new Thread(new ParameterizedThreadStart(Run)); t.Start(tip); threads.Add(t); curIp = IPUtility.getLastIp(curIp, p.EndIp, 1); } } else { break; } } } } protected void Run(object ob) { string ip = ob.ToString(); SocketGetHead h = new SocketGetHead(); string ret = h.GetHtml(ip, 80); if (ret.IndexOf("DVRDVS-Webs") > 0) { ListViewItem item = new ListViewItem(); item.SubItems[0].Text = (listView1.Items.Count 1).ToString(); ListViewItem.ListViewSubItem lvSubItem = new ListViewItem.ListViewSubItem(); lvSubItem.Text = ip; item.SubItems.Add(lvSubItem); lvSubItem = new ListViewItem.ListViewSubItem(); lvSubItem.Text = "DVRDVS-Webs"; item.SubItems.Add(lvSubItem); listView1.Items.Add(item); } System.Object lockThis = new System.Object(); lock(lockThis) { lblCurIp.Text = ip; _currentThreads--; if (_currentThreads < 0) _currentThreads = 0; } } private void tsmCopy_Click(object sender, EventArgs e) { if (listView1.SelectedItems.Count > 0) { string ip = listView1.SelectedItems[0].SubItems[1].Text; Clipboard.SetText(ip); } } private void tsmExport_Click(object sender, EventArgs e) { StreamWriter writer = new StreamWriter(AppDomain.CurrentDomain.BaseDirectory "\export.txt",true); foreach (ListViewItem item in listView1.Items) { string ip=item.SubItems[1].Text; writer.WriteLine(ip); writer.Flush(); } writer.Flush(); writer.Close(); MessageBox.Show("导出成功!"); } private void Form1_FormClosing(object sender, FormClosingEventArgs e) { try { if (mt != null) { mt.Interrupt(); mt.Abort(); } foreach (Thread t in threads) { t.Interrupt(); t.Abort(); } if (main != null) { main.Interrupt(); main.Abort(); } } catch { } Thread.Sleep(5000); } private void btnStop_Click(object sender, EventArgs e) { try { if (mt != null) { mt.Interrupt(); mt.Abort(); } foreach (Thread t in threads) { t.Interrupt(); t.Abort(); } if (main != null) { main.Interrupt(); main.Abort(); } } catch { } btnStart.Enabled = true; } }}
- 2014-06-23下载
- 积分:1
-
modbus TCPIP协议client-Server端源代码
利用vc++实现modbus tcp通信(Using vc++ to implement Modbus TCP communication)
- 2018-02-24 17:45:27下载
- 积分:1
-
Cpp1108
程序时用循环进行一些数据的输入输出 以及数据的更新等操作(Program carried out with the cycle of some of the data input and output, and data updating operations)
- 2016-02-16 11:21:48下载
- 积分:1
-
WCF四种常用应用场景实例下载
使用注意:建立demo数据库,使用aspnet_regsql.exe建立Memmbership一些安全场景需要证书,使用CertTool的工具生成具体的授权时的角色和用户名字参考HostSvc、Client代码修改成测试用的后才能正常运行 一、目录结构Common来自于Programming WCF Services[ISBN: 978-0-596-80548-7],实现WCF的声明式安全HostSvc:不同场景的接口和服务实现,命令行承载服务MembershipAdmin:用于操作demo数据库membership的成员操作,Asp.net Configuraion 可添加角色和用户,并使用IIS服务承载HostSvc实现的服务Client: 使用各种服务的客户端场景 二、四种场景的区别:Intranet Transport保护 使用tcp绑定 windows集成的安全 Internet 只能使用Message形式的保护,需要数字证书 tcp wsHttp绑定 使用Membership进行安全认证 Anoymous 使用Message形式的保护,需要数字证书 tcp wsHttp绑定 None 消息不保护 http tcp wsHttp绑定 三、App-comment.config: 包含对于各种配置的说明 四、证书的生成:CertToolSetupCerts.bat生成,命令行工具从VS SDK已经拷贝过来 五、IIS中承载服务的注意: 需要把WCFServer赋予IIS的账号以权限 受信任人中加入WCFServer证书 六、证书如何管理:1、命令行启动mmc2、“添加、删除管理单元"加入"证书", 按照提示选择当前用户或本机3、此时即可管理IIS的权限操作: 在"个人/证书"下找到WCFServer,"更多操作/所有任务/管理私钥",弹出界面设置用户权限受信任人: 在"个人/证书"下找到WCFServer,导出证书,然后在”受信息人/证书“下导入以上证书即可 七、远程机器客户端的证书问题 导出WCFServer【不要私钥】 然后在远程客户端机器上导入即可,此时的公钥可以用于消息的验证 八、IIS中承载MembershipAdmin中加入了对应的四个.svc文件【逻辑使用的一个HostSvc中的实现】以提供WCF服务,具体配置和HostSvc一致,当然地址不一样了此例是把MembershipAdmin作为应程序发布到80端口的demo下 注意:1、需要设置IIS的http和net.tcp协议支持2、数据库demo需要能被IIS账号访问3、WCFServer证书需要能被IIS账号访问
- 2021-03-03 08:29:33下载
- 积分:1
-
C#远程关闭和重启计算机实例源码下载
C#远程关闭和重启计算机实例,功能已实现,供参考学习
- 2013-01-24下载
- 积分:1