///发送按钮    ///    ///    ///    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

C#实现Socket通讯Demo

于 2021-08-22 发布
0 263
下载积分: 1 下载次数: 1

代码说明:

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

下载说明:请别用迅雷下载,失败请重下,重下不扣分!

发表评论

0 个回复

  • 每项可以显示多行文本的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
  • 696518资源总数
  • 106161会员总数
  • 5今日下载