资源简介
C# 4.0 利用Socket套接字写的Winform多人聊天功能,有服务端Server,和客户端Client,目前只支持局域网的多人聊天,可用于C#学习使用,和Socket的了解。
代码片段和文件信息
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 TCPClient
{
public partial class ClientForm : Form
{
private P2pClient clientobj = new P2pClient();
public ClientForm()
{
InitializeComponent();
btsendmessage.Enabled = false; //没有连接不允许发送数据
this.AcceptButton = btsendmessage;
this.btnstop.Enabled = false;
}
private void btnconnect_Click(object sender EventArgs e)
{
string nickname = txtnecheng.Text.Trim();
string ip = txtserverip.Text.Trim();
string port = txtport.Text.Trim();
if (nickname==““ || ip==““ || port==““)
{
MessageBox.Show(“请将呢称,IP地址,端口号填写完整!““提示“);
return;
}
try
{
if (clientobj.receiveThread==null)
{
clientobj.SendConnection(ip Convert.ToInt32(port)); //连接
clientobj.receiveEvent += new P2pClient.receiveDelegate(clientobj_receiveEvent);//订阅事件的处理方法
clientobj.Send(nickname + “登陆成功!“);
btnconnect.Enabled = false;
btsendmessage.Enabled = true;
this.btnstop.Enabled = true;
this.Text = nickname;
}
else
{
btnconnect.Enabled = false;
btsendmessage.Enabled = true;
this.btnstop.Enabled = true;
this.Text = nickname;
}
}
catch (Exception ex)
{
MessageBox.Show(“连接出错:“+ex.Message“警告“);
return;
}
}
private void btsendmessage_Click(object sender EventArgs e)
{
try
{
if (string.IsNullOrEmpty(this.txtmessage.Text))
{
return;
}
clientobj.Send(txtnecheng.Text + “ “ + DateTime.Now.ToString() +string.Empty.PadRight(300‘ ‘) + txtmessage.Text);
txtmessage.Clear();
}
catch (Exception ex)
{
MessageBox.Show(“连接出错:“ + ex.Message “警告“);
return;
}
}
void clientobj_receiveEvent(string receiveData)
{
try
{
if (this.InvokeRequired)
{
P2pClient.receiveDelegate update = new P2pClient.receiveDelegate(clientobj_receiveEvent);
this.Invoke(update new object[] { receiveData });//将消息发送给控件线程处理
}
else
{
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2015-12-17 13:00 MultiChat\
目录 0 2015-12-17 13:00 MultiChat\MultiChat\
文件 1318 2015-12-15 11:33 MultiChat\MultiChat.sln
文件 29696 2015-12-16 18:37 MultiChat\MultiChat.suo
目录 0 2015-12-17 13:00 MultiChat\MultiChat\bin\
目录 0 2015-12-17 13:00 MultiChat\MultiChat\bin\Debug\
文件 14848 2015-12-16 12:57 MultiChat\MultiChat\bin\Debug\MultiChat.exe
文件 32256 2015-12-16 12:57 MultiChat\MultiChat\bin\Debug\MultiChat.pdb
文件 11600 2015-12-15 17:02 MultiChat\MultiChat\bin\Debug\MultiChat.vshost.exe
文件 4173 2015-12-16 18:16 MultiChat\MultiChat\ClientForm.cs
文件 13418 2015-12-15 17:07 MultiChat\MultiChat\ClientForm.Designer.cs
文件 5817 2015-12-15 17:07 MultiChat\MultiChat\ClientForm.resx
目录 0 2015-12-17 13:00 MultiChat\MultiChat\obj\
目录 0 2015-12-17 13:00 MultiChat\MultiChat\obj\x86\
目录 0 2015-12-17 13:00 MultiChat\MultiChat\obj\x86\Debug\
文件 2867 2015-12-15 09:46 MultiChat\MultiChat\obj\x86\Debug\DesignTimeResolveAssemblyReferences.cache
文件 6281 2015-12-16 12:57 MultiChat\MultiChat\obj\x86\Debug\DesignTimeResolveAssemblyReferencesInput.cache
文件 14848 2015-12-16 12:57 MultiChat\MultiChat\obj\x86\Debug\MultiChat.exe
文件 32256 2015-12-16 12:57 MultiChat\MultiChat\obj\x86\Debug\MultiChat.pdb
文件 180 2015-12-15 17:07 MultiChat\MultiChat\obj\x86\Debug\TCPClient.ClientForm.resources
文件 575 2015-12-16 12:57 MultiChat\MultiChat\obj\x86\Debug\TCPClient.csproj.FileListAbsolute.txt
文件 980 2015-12-15 17:07 MultiChat\MultiChat\obj\x86\Debug\TCPClient.csproj.GenerateResource.Cache
文件 9174 2015-12-16 12:57 MultiChat\MultiChat\obj\x86\Debug\TCPClient.csprojResolveAssemblyReference.cache
文件 180 2015-12-15 17:07 MultiChat\MultiChat\obj\x86\Debug\TCPClient.Properties.Resources.resources
目录 0 2015-12-17 13:00 MultiChat\MultiChat\obj\x86\Debug\TempPE\
文件 4608 2015-12-15 10:05 MultiChat\MultiChat\obj\x86\Debug\TempPE\Properties.Resources.Designer.cs.dll
文件 2062 2015-12-15 15:12 MultiChat\MultiChat\P2pClient.cs
文件 506 2015-12-15 10:05 MultiChat\MultiChat\Program.cs
目录 0 2015-12-17 13:00 MultiChat\MultiChat\Properties\
文件 1448 2015-12-15 09:46 MultiChat\MultiChat\Properties\AssemblyInfo.cs
文件 2846 2015-12-15 09:48 MultiChat\MultiChat\Properties\Resources.Designer.cs
............此处省略35个文件信息
- 上一篇:人脸识别C#源码
- 下一篇:C#根据字符串生成二维码并显示
相关资源
- c#基于TCP协议的Socket通信完整Demo已实
- C# 网络编程之socket tcp 通讯demo样例
- C#Socket编程.rar
- (源代码)C# Socket服务器和Tcp客户端
- c#串口通讯log存储及实时波形绘制代码
- c#制作一个通讯录
- TCP通讯协议
- c# socket(udp/tcp) demo
- 异步串行串口通讯C#RS232
- C# Socket入门学习! Socket入门学习!
- wpf实现Socket通信
- C# socket聊天 服务器转发
- wpf socket
- 基于SOCKET实现FTP客户端源代码
- c#编写基于socket通信的远程控制案例
- c#通讯录管理系统课程设计报告
- 三层架构——通讯录
- ACTIVE MQ通讯实现
- C# socket 通信 允许发送图片,文字,文
- C# 西门子PLC ppi通讯程序
- C# UDPSocket异步传输文件
- C#通讯录项目学生期末作业+C#.通讯录
- C#与S7-300PLC的通讯
- WPF使用Socket实现客户端服务器通信
- c#写的简单嗅探器(Socket)
- Socket组播通信
- C# TCP服务器客户端通讯源码
- c# socket 异步通信,一个服务器端和多
- 通讯录模板
- C#.net4.0 采用多线程 基于Socket的聊天室
评论
共有 条评论