资源简介
一个实现一个服务器 多个客户端间通信的demo,详情可以见我"C# Socket异步通信demo,一个服务器对应多个客户端"这篇文章,谢谢
代码片段和文件信息
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Net;
using System.Net.Sockets;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace SocketTest
{
public partial class frmClient : Form
{
private byte[] result = new byte[1024];
private Socket clientSocket = new Socket(AddressFamily.InterNetwork SocketType.Stream ProtocolType.Tcp);
private int port ;
System.Timers.Timer timer = new System.Timers.Timer(2000);
public frmClient()
{
InitializeComponent();
txtIp.Text = “127.0.0.1“;
txtPort.Text = “8888“;
Random r = new Random();
txtSendDetails.Text = r.Next(10000).ToString();
}
private void Timer_Elapsed(object sender System.Timers.ElapsedEventArgs e)
{
Send(txtSendDetails.Text.Trim());
}
private void btnConnection_Click(object sender EventArgs e)
{
txtClient.Text += “连接“ + txtIp.Text + “:“ + txtPort.Text + “\r\n“;
syConnect();
}
private void btnSend_Click(object sender EventArgs e)
{
if (Send(txtSendDetails.Text.Trim()) && txtSendDetails.Text.Trim() != ““)
{
txtClient.Text += “已发送:“ + txtSendDetails.Text.Trim() + “\r\n“;
timer.Elapsed += Timer_Elapsed;
timer.Start();
}
}
public void syConnect()
{
try
{
IPAddress ip = IPAddress.Parse(txtIp.Text.ToString());
port = int.Parse(txtPort.Text.Trim());
IPEndPoint endPoint = new IPEndPoint(ip int.Parse(txtPort.Text.Trim()));
//clientSocket.BeginConnect(ip port new AsyncCallback(ConnectCallback) clientSocket);
//开始连接到服务器
clientSocket.BeginConnect(endPoint asyncResult =>
{
clientSocket.EndConnect(asyncResult);
} null);
txtClient.Text += “连接服务器成功“ + “\r\n“;
}
catch(Exception ex)
{
txtClient.Text += “连接服务器失败“ + “\r\n“;
}
}
private void ConnectCallback(IAsyncResult ar)
{
try
{
Socket handler = (Socket)ar.AsyncState;
handler.EndConnect(ar);
}
catch (SocketException ex)
{
MessageBox.Show(ex.ToString());
}
}
///发送消息
public Boolean Send(string data)
{
try
{
//Send(System.Text.Encoding.UTF8.GetBytes(data));
byte[] bydata = System.Text.Encoding.ASCII.GetBytes(data);
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
..A..H. 45568 2016-03-31 17:40 SocketTest\.vs\SocketTest\v14\.suo
I.A.... 170 2016-03-31 13:45 SocketTest\SocketTest\App.config
文件 16896 2016-04-01 08:59 SocketTest\SocketTest\bin\Debug\SocketTest.exe
文件 170 2016-03-31 13:45 SocketTest\SocketTest\bin\Debug\SocketTest.exe.config
文件 34304 2016-04-01 08:59 SocketTest\SocketTest\bin\Debug\SocketTest.pdb
文件 22688 2016-04-01 09:00 SocketTest\SocketTest\bin\Debug\SocketTest.vshost.exe
文件 170 2016-03-31 13:45 SocketTest\SocketTest\bin\Debug\SocketTest.vshost.exe.config
文件 490 2015-06-04 12:48 SocketTest\SocketTest\bin\Debug\SocketTest.vshost.exe.manifest
I.A.... 3659 2016-04-01 08:59 SocketTest\SocketTest\frmClient.cs
I.A.... 7842 2016-03-31 14:52 SocketTest\SocketTest\frmClient.Designer.cs
文件 5817 2016-03-31 14:52 SocketTest\SocketTest\frmClient.resx
I.A.... 4457 2016-04-01 08:57 SocketTest\SocketTest\frmServer.cs
I.A.... 6754 2016-03-31 16:09 SocketTest\SocketTest\frmServer.Designer.cs
I.A.... 5817 2016-03-31 16:09 SocketTest\SocketTest\frmServer.resx
文件 1452 2016-04-01 08:34 SocketTest\SocketTest\obj\Debug\DesignTimeResolveAssemblyReferences.cache
文件 7047 2016-03-31 14:13 SocketTest\SocketTest\obj\Debug\DesignTimeResolveAssemblyReferencesInput.cache
文件 1135 2016-04-01 09:00 SocketTest\SocketTest\obj\Debug\SocketTest.csproj.FileListAbsolute.txt
文件 1079 2016-03-31 16:09 SocketTest\SocketTest\obj\Debug\SocketTest.csproj.GenerateResource.Cache
文件 2210 2016-03-31 14:11 SocketTest\SocketTest\obj\Debug\SocketTest.csprojResolveAssemblyReference.cache
文件 16896 2016-04-01 08:59 SocketTest\SocketTest\obj\Debug\SocketTest.exe
文件 180 2016-03-31 14:52 SocketTest\SocketTest\obj\Debug\SocketTest.frmClient.resources
文件 180 2016-03-31 16:09 SocketTest\SocketTest\obj\Debug\SocketTest.frmServer.resources
文件 34304 2016-04-01 08:59 SocketTest\SocketTest\obj\Debug\SocketTest.pdb
文件 180 2016-03-31 14:23 SocketTest\SocketTest\obj\Debug\SocketTest.Properties.Resources.resources
文件 3584 2016-03-31 13:47 SocketTest\SocketTest\obj\Debug\TempPE\Properties.Resources.Designer.cs.dll
I.A.... 526 2016-03-31 13:45 SocketTest\SocketTest\Program.cs
I.A.... 1340 2016-03-31 13:45 SocketTest\SocketTest\Properties\AssemblyInfo.cs
I.A.... 2860 2016-03-31 13:45 SocketTest\SocketTest\Properties\Resources.Designer.cs
I.A.... 5612 2016-03-31 13:45 SocketTest\SocketTest\Properties\Resources.resx
I.A.... 1110 2016-03-31 13:45 SocketTest\SocketTest\Properties\Settings.Designer.cs
............此处省略18个文件信息
相关资源
- C# 调用win32 api函数-user32.dll详细说明
- C# 调用BarTender打印条码DEMO
- 大型比赛竞赛抽签系统 可打印 c# vs
- C#编写的Gerber查看器
- lua C# .Net4.0 vs2010 LuaInterface
- C#十六进制编辑器
- 明华URF-35H读卡器 C#读写源码 为大家
- C#文件流读取CSV文件
- c#读写PDF文件sql
- C# winform Socket大文件传输
- c#车牌识别系统附30张测试图片
- 《C#面向对象程序设计》源代码(CS)
- 金旭亮《C#面向对象程序设计》教案
- 试题库管理系统毕业论文(C#)源程序
- 学校网站原代码(C#.NET)
- C#-数据库操作技术-员工管理系统
- c#web开发入门经典
- C#与Matlab混合编程的几种方式
- c# 开发与 mysql数据库实现的增删改查
- C#异步操作 异步查询数据库 异步处理
- Basler相机通过IO触发源码
- [源代码] 《领域驱动设计 (C# 2008 实
- 松下PLC与C#通讯串口调试入门教程.z
- USB 继电器控制器 LCUS-1 保证能用 c#
- C# AES加密解密小工具
- C#圆形按钮,非常漂亮动态~~
- [精]C#仿QQ右下角弹出提示框()
- C#进程间通信-共享内存代码
- 有史以来最简单的三层(C#)
- vb调用c#编写的串口DLL文件(vb源码
评论
共有 条评论