///发送按钮 /// /// /// privatevoidbutton2_Click(objectsender,EventArgse) { try { IPEndPointclient=(IPEndPoint)this.comboBox1.SelectedItem; if(client==null) { MessageBox.Show("没有选中任何在线客户端!"); return; } if(!this.server.clientCheck(client)) { MessageBox.Show("目标客户端不在线!"); return; } server.sendMessage(client,textBox_msg.Text); } catch(ExceptionEx){MessageBox.Show(Ex.Message);} } /// ///下面显示的 /// /// /// privatevoidshow(IPEndPointipEndPoint,stringstr) { label_zt.Text=ipEndPoint.ToString()":"str; label_all.Text="当前在线人数:"this.server.ClientNumber.ToString(); } /// ///当组合框按下的时候 /// /// /// privatevoidcomboBox1_DropDown_1(objectsender,EventArgse) { try { Listlist=this.server.ClientAll; this.comboBox1.DataSource=list; } catch{} } /// ///关闭客户端的按钮 /// /// /// privatevoidbutton3_Click_1(objectsender,EventArgse) { IPEndPointclient=(IPEndPoint)this.comboBox1.SelectedItem; if(client==null) { MessageBox.Show("没有选中任何在线客户端!"); return; } if(!this.server.clientCheck(client)) { MessageBox.Show("目标客户端不在线!"); return; } server.clientClose(client); } #endregion-IMDN开发者社群-imdn.cn">
///发送按钮 /// /// /// privatevoidbutton2_Click(objectsender,EventArgse) { try { IPEndPointclient=(IPEndPoint)this.comboBox1.SelectedItem; if(client==null) { MessageBox.Show("没有选中任何在线客户端!"); return; } if(!this.server.clientCheck(client)) { MessageBox.Show("目标客户端不在线!"); return; } server.sendMessage(client,textBox_msg.Text); } catch(ExceptionEx){MessageBox.Show(Ex.Message);} } /// ///下面显示的 /// /// /// privatevoidshow(IPEndPointipEndPoint,stringstr) { label_zt.Text=ipEndPoint.ToString()":"str; label_all.Text="当前在线人数:"this.server.ClientNumber.ToString(); } /// ///当组合框按下的时候 /// /// /// privatevoidcomboBox1_DropDown_1(objectsender,EventArgse) { try { Listlist=this.server.ClientAll; this.comboBox1.DataSource=list; } catch{} } /// ///关闭客户端的按钮 /// /// /// privatevoidbutton3_Click_1(objectsender,EventArgse) { IPEndPointclient=(IPEndPoint)this.comboBox1.SelectedItem; if(client==null) { MessageBox.Show("没有选中任何在线客户端!"); return; } if(!this.server.clientCheck(client)) { MessageBox.Show("目标客户端不在线!"); return; } server.clientClose(client); } #endregion - IMDN开发者社群-imdn.cn">
首页 »
C# »
C#实现Socket通讯Demo
于 2021-08-22 发布
0 263
c#通过Socket实现图片、文件和文字的通讯。
private void button1_Click(object sender, EventArgs e)
{
try
{
server = TxStart.startServer(int.Parse(textBox_port.Text));
server.AcceptString = new TxDelegate(acceptString);
server.AcceptByte = new TxDelegate(acceptBytes);
server.Connect = new TxDelegate(connect);
server.dateSuccess = new TxDelegate(dateSuccess);
server.Disconnection = new TxDelegate(disconnection);
server.EngineClose = new TxDelegate(engineClose);
server.EngineLost = new TxDelegate(engineLost);
//server.BufferSize=12048;
//server.FileLog = "C:\test.txt";
server.StartEngine();
this.button1.Enabled = false;
this.button2.Enabled = true;
this.button3.Enabled = true;
}
catch (Exception Ex) { MessageBox.Show(Ex.Message); }
}
///
/// 发送按钮
///
///
///
private void button2_Click(object sender, EventArgs e)
{
try
{
IPEndPoint client = (IPEndPoint)this.comboBox1.SelectedItem;
if (client == null)
{
MessageBox.Show("没有选中任何在线客户端!");
return;
}
if (!this.server.clientCheck(client))
{
MessageBox.Show("目标客户端不在线!");
return;
}
server.sendMessage(client, textBox_msg.Text);
}
catch (Exception Ex) { MessageBox.Show(Ex.Message); }
}
///
/// 下面显示的
///
///
///
private void show(IPEndPoint ipEndPoint, string str)
{
label_zt.Text = ipEndPoint.ToString() ":" str;
label_all.Text = "当前在线人数:" this.server.ClientNumber.ToString();
}
///
/// 当组合框按下的时候
///
///
///
private void comboBox1_DropDown_1(object sender, EventArgs e)
{
try
{
List list = this.server.ClientAll;
this.comboBox1.DataSource = list;
}
catch { }
}
///
/// 关闭客户端的按钮
///
///
///
private void button3_Click_1(object sender, EventArgs e)
{
IPEndPoint client = (IPEndPoint)this.comboBox1.SelectedItem;
if (client == null)
{
MessageBox.Show("没有选中任何在线客户端!");
return;
}
if (!this.server.clientCheck(client))
{
MessageBox.Show("目标客户端不在线!");
return;
}
server.clientClose(client);
}
#endregion
下载说明:请别用迅雷下载,失败请重下,重下不扣分!
-
每项可以显示多行文本的ListBox控件
每项可以显示多行文本的ListBox控件
- 2013-10-02下载
- 积分:1
-
linux 屏幕操作
【实例简介】
- 2021-10-13 00:31:05下载
- 积分:1
-
C# 多线程和Socket网络编程 示例源码(入门级)
C# 多线程和Socket网络编程 示例源码(入门级)
- 2017-11-27下载
- 积分:1
-
umbraco完整源码
这个不是我写的,老美写的开源项目,值得一看
- 2013-09-07下载
- 积分:1
-
C++ Reference.chm
C++ Reference.chm
- 2020-03-02下载
- 积分:1
-
康软人力资源管理系统源码
开发环境为Visual Studio 2010,数据库为SQL Server 2008,数据库文件在DB_51aspx文件夹中附加就行。管理员用户名admin 密码admin888 一般用户:用户名lilei 密码123456
- 2019-11-30下载
- 积分:1
-
旅行商问题 最短路径算法源码下载(群蚁)
旅行商问题,常被称为旅行推销员问题,是指一名推销员要拜访多个地点时,如何找到在拜访每个地点一次后再回到起点的最短路径。规则虽然简单,但在地点数目增多后求解却极为复杂。
- 2016-01-20下载
- 积分:1
-
c# qq2013源码下载
c# qq2013源码下载
- 2015-03-11下载
- 积分:1
-
自动登录qq空间,获取最近访客列表.
自动登录qq空间,获取最近访客列表.using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;namespace WindowsFormsApplication1{ public partial class Form1 : Form { Timer terAutologin = new Timer(); public Form1() { InitializeComponent(); terAutologin.Enabled = true; terAutologin.Interval = 3 * 1000; terAutologin.Tick = ter_Tick; } void ter_Tick(object sender, EventArgs e) { if(wb1.Document==null) { return; } HtmlElement dialog_content_1 = wb1.Document.GetElementById("dialog_content_1"); if (dialog_content_1 == null) { return; } var frame = wb1.Document.Window.Frames[0]; if (frame==null) { return; } if (frame.Document==null) { return; } // iframe HtmlElement u = frame.Document.GetElementById("u"); u.InnerText = "171586098"; HtmlElement p = frame.Document.GetElementById("p"); p.InnerText = "*************"; p.SetAttribute("value", "********"); HtmlElement login_button = frame.Document.GetElementById("login_button"); login_button.InvokeMember("click"); terAutologin.Stop(); } private void Form1_Load(object sender, EventArgs e) { ssl1.Text = string.Empty; txtUrl.Text = "http://user.qzone.qq.com/14371939"; wb1.ScriptErrorsSuppressed = true; wb1.Navigate("http://user.qzone.qq.com/14371939/main"); } private void btnGO_Click(object sender, EventArgs e) { if (!string.IsNullOrEmpty(txtUrl.Text)) { wb1.Navigate(txtUrl.Text); ssl1.Text = txtUrl.Text " Navigated"; } } private void wb1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e) { System.Diagnostics.Trace.WriteLine(e.Url.ToString()); // http://g.cnc.qzone.qq.com/cgi-bin/friendshow/cgi_get_visitor_simple?uin=4371939&type=1&mask=3&rd=0.7801240284461528&_=1397644130601&g_tk=9281770 ssl1.Text = e.Url.ToString() " Completed"; tryRead(); } private void btnTest_Click(object sender, EventArgs e) { tryRead(); } private void tryRead() { if (wb1.Document == null) { return; } HtmlElement pagediv = wb1.Document.GetElementById("visitor_list_page_con"); if (pagediv==null) { return; } //若分页内容存在,则表示已经加载过了. if(pagediv.Children.Count>0) { handlerAbc(null,null); return; } //模拟点击 "最近访客" var aa = pagediv.Parent.Parent.FirstChild.Children[2]; aa.InvokeMember("click"); //给访问列表的容器绑定一个事件...回调时就能获取到. HtmlElement guestlist = pagediv.Parent.FirstChild; //ul.RaiseEvent guestlist.AttachEventHandler("onpropertychange", new EventHandler(handlerAbc)); } private void handlerAbc(Object sender, EventArgs e) { HtmlElement div = wb1.Document.GetElementById("visitor_list_page_con"); HtmlElement guestlist = div.Parent.FirstChild; if (guestlist.InnerHtml.IndexOf("QZONE.FrontPage.showLoginBox") > -1) { HtmlElement alogin = guestlist.GetElementsByTagName("a")[0]; alogin.InvokeMember("click"); // 使用定时器.检测登录窗口的出现.. terAutologin.Start(); return; } else { System.Text.StringBuilder sb = new StringBuilder(); // 取回里面的内容? foreach (HtmlElement li in guestlist.Children) { string qq = li.GetAttribute("uin"); string visitname = li.Children[1].FirstChild.InnerText; string visittime = li.Children[1].Children[1].InnerText; sb.AppendLine(qq visitname visittime); } MessageBox.Show(sb.ToString()); } } }}
- 2014-04-18下载
- 积分:1
-
C# 加密解密例子源码下载( DES、3DES、TDEA、Blowfish、RC2、RC4、RC5、IDEA、SKIPJACK、AES )
C# 加密解密例子源码下载( DES、3DES、TDEA、Blowfish、RC2、RC4、RC5、IDEA、SKIPJACK、AES )
- 2015-06-01下载
- 积分:1