资源简介
用c#实现的tcp局域网聊天程序,用到了NetworkStream,tcpclient,tcplistener等这些类实现,程序中还有状态栏,可是显示当先状态!
另外还增加了对异常的处理,使程序更加健壮!!!
代码片段和文件信息
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Net;
using System.Net.Sockets;
using System.Threading;
namespace MyTcpClient
{
public partial class Form1 : Form
{
private bool isExit = false;
System.Collections.ArrayList clientlist = new System.Collections.ArrayList();
TcpListener listener;
private delegate void SetListBoxCallBack(string str);
private SetListBoxCallBack setlistcallback;
private delegate void SetRichTextBoxCallBack(string str);
private SetRichTextBoxCallBack setRichTextBoxCallBack;
private delegate void SetComboBoxCallBack(string str);
private SetComboBoxCallBack setComboBoxCallBack;
private delegate void RemoveComboBoxItemsCallBack(DataReadWrite datareadwrite);
private RemoveComboBoxItemsCallBack removecomboboxcallback;
private ManualResetEvent allDone = new ManualResetEvent(false);
public Form1()
{
InitializeComponent();
setlistcallback = new SetListBoxCallBack(SetListBox);
setRichTextBoxCallBack = new SetRichTextBoxCallBack(SetReceiveText);
setComboBoxCallBack = new SetComboBoxCallBack(SetComboBox);
removecomboboxcallback = new RemoveComboBoxItemsCallBack(RemoveComboBoxItems);
}
private void buttonstart_Click(object sender EventArgs e)
{
Thread myThread=new Thread(new ThreadStart(AcceptConnection));
myThread.Start();
buttonstart.Enabled=false;
buttonstop.Enabled=true;
}
private void AcceptConnection()
{
IPAddress[] ip = Dns.GetHostAddresses(Dns.GetHostName());
listener = new TcpListener(ip[0] 9001);
listener.Start();
while (isExit == false)
{
try
{
allDone.Reset();
AsyncCallback callback = new AsyncCallback(AcceptTcpClientCallBack);
listBoxStatus.Invoke(setlistcallback “开始等待连接“);
listener.BeginAcceptTcpClient(callback listener);
allDone.WaitOne();
}
catch (Exception e)
{
listBoxStatus.Invoke(setlistcallback e.Message);
break;
}
finally
{
}
}
}
private void AcceptTcpClientCallBack(IAsyncResult iar)
{
try
{
TcpListener listener = (TcpListener)iar.AsyncState;
TcpClient client = listener.EndAcceptTcpClient(iar);
listBoxStatus.Invoke(setlistcallback “已接收客户连接:“ + client.Client.RemoteEndPoint);
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 24576 2009-03-01 19:25 tcp聊天程序\MyTcpClient\MyTcpClient\bin\Debug\MyTcpClient.exe
文件 28160 2009-03-01 19:25 tcp聊天程序\MyTcpClient\MyTcpClient\bin\Debug\MyTcpClient.pdb
文件 5632 2005-11-11 22:25 tcp聊天程序\MyTcpClient\MyTcpClient\bin\Debug\MyTcpClient.vshost.exe
文件 7914 2009-03-01 19:17 tcp聊天程序\MyTcpClient\MyTcpClient\Form1.cs
文件 8455 2009-03-01 18:28 tcp聊天程序\MyTcpClient\MyTcpClient\Form1.Designer.cs
文件 5814 2009-03-01 18:28 tcp聊天程序\MyTcpClient\MyTcpClient\Form1.resx
文件 3229 2009-03-01 18:28 tcp聊天程序\MyTcpClient\MyTcpClient\MyTcpClient.csproj
文件 842 2009-03-01 19:25 tcp聊天程序\MyTcpClient\MyTcpClient\obj\Debug\MyTcpClient.csproj.GenerateResource.Cache
文件 24576 2009-03-01 19:25 tcp聊天程序\MyTcpClient\MyTcpClient\obj\Debug\MyTcpClient.exe
文件 180 2009-03-01 19:25 tcp聊天程序\MyTcpClient\MyTcpClient\obj\Debug\MyTcpClient.Form1.resources
文件 28160 2009-03-01 19:25 tcp聊天程序\MyTcpClient\MyTcpClient\obj\Debug\MyTcpClient.pdb
文件 180 2009-03-01 19:25 tcp聊天程序\MyTcpClient\MyTcpClient\obj\Debug\MyTcpClient.Properties.Resources.resources
文件 296 2009-03-01 19:26 tcp聊天程序\MyTcpClient\MyTcpClient\obj\MyTcpClient.csproj.FileList.txt
文件 470 2009-03-01 16:55 tcp聊天程序\MyTcpClient\MyTcpClient\Program.cs
文件 1206 2009-03-01 16:55 tcp聊天程序\MyTcpClient\MyTcpClient\Properties\AssemblyInfo.cs
文件 2877 2009-03-01 16:55 tcp聊天程序\MyTcpClient\MyTcpClient\Properties\Resources.Designer.cs
文件 5612 2009-03-01 16:55 tcp聊天程序\MyTcpClient\MyTcpClient\Properties\Resources.resx
文件 1095 2009-03-01 16:55 tcp聊天程序\MyTcpClient\MyTcpClient\Properties\Settings.Designer.cs
文件 249 2009-03-01 16:55 tcp聊天程序\MyTcpClient\MyTcpClient\Properties\Settings.settings
文件 922 2009-03-01 16:55 tcp聊天程序\MyTcpClient\MyTcpClient.sln
..A..H. 12288 2009-03-01 19:27 tcp聊天程序\MyTcpClient\MyTcpClient.suo
文件 24576 2009-03-01 19:24 tcp聊天程序\MyTcpServer\MyTcpServer\bin\Debug\MyTcpServer.exe
文件 24064 2009-03-01 19:24 tcp聊天程序\MyTcpServer\MyTcpServer\bin\Debug\MyTcpServer.pdb
文件 5632 2005-11-11 22:25 tcp聊天程序\MyTcpServer\MyTcpServer\bin\Debug\MyTcpServer.vshost.exe
文件 5013 2009-03-01 19:16 tcp聊天程序\MyTcpServer\MyTcpServer\Form1.cs
文件 6593 2009-03-01 18:29 tcp聊天程序\MyTcpServer\MyTcpServer\Form1.Designer.cs
文件 5814 2009-03-01 18:29 tcp聊天程序\MyTcpServer\MyTcpServer\Form1.resx
文件 474 2009-03-01 16:18 tcp聊天程序\MyTcpServer\MyTcpServer\MyTcpServer.cs
文件 3233 2009-03-01 16:36 tcp聊天程序\MyTcpServer\MyTcpServer\MyTcpServer.csproj
文件 558 2009-03-01 16:36 tcp聊天程序\MyTcpServer\MyTcpServer\MyTcpServer.csproj.user
............此处省略35个文件信息
相关资源
- c#基于TCP协议的Socket通信完整实现多人
- C# 利用remoting制作局域网简单聊天室
- C#中通用TCP/IP客户/服务器通信库源代
- C#TCP聊天室
- asp.net制作的聊天室
- C#编写的基于UDP的多人聊天系统
- 局域网文件传输 Socket编程 C#代码
- C# 异步Socket 多人聊天室完整源码
- vb.net通过socket实现简易多人聊天室含
- C#代码操作Excel不需要安装office
- VS2017 C#代码配色方案-monokai
- 微信企业付款到银行卡c#代码
- C#基于UDP的点对点语音聊天程序
- 使用c#控制台应用程序写游戏—消消乐
- 项目实战C#聊天工具包含服务器和客户
- 在线聊天室asp.net
- C#公路曲线中边桩坐标计算
- C#代码生成器生成BL,DAL,Model三层代
- C#聊天程序
-
局域网聊天程序xm
l保存异步套接字 - SQL Server数据库备份与恢复C#代码
-
C#代码 NIVision Image To HalconImaget Hob
- C# 局域网聊天程序 一个服务器多个客
- C#Socket多线程聊天室
- C#源代码 如何实现点对点的聊天
- c#的P2P聊天程序完整源码
- ENVI的BSQ BIL BIP三种栅格格式转换的C
- c#窗体编写的简单的聊天室系统
- C# Socket_服务端向指定的客户端发送消
- C#.net udp 点对点聊天程序
评论
共有 条评论