资源简介
用c#写了一个比较健壮的多人聊天室 可以多个人一起聊天
代码片段和文件信息
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;
using System.Net;
using System.Threading;
using System.Net.Sockets;
namespace 客户端
{
public partial class Form1 : Form
{
Socket lian;
public Form1()
{
InitializeComponent();
}
///
/// 不停接收信息的线程
///
void jieshou()
{
while (true)
{
Byte[] buff = new Byte[1000];
try
{
int s = lian.Receive(buff);
if (s == 0)
break;
string str = Encoding.UTF8.GetString(buff 0 s);
this.Invoke(new Action(() =>
{
this.neirong.AppendText(str + “\r\n“);
}));
}
catch { }
}
}
///
/// 发送消息
///
///
///
private void button1_Click(object sender EventArgs e)
{
if (this.button2.Text != “关闭“)
{
MessageBox.Show(“请先连接“);
return;
}
string str = this.liaotian.Text;
string strr = this.name.Text + “:“ + str;
byte[] buf = Encoding.UTF8.GetBytes(strr);
try
{
lian.Send(buf);
}
catch
{
//服务器关闭 或者发生异常 断开连接
lian.Close();
MessageBox.Show(“请重新连接“);
this.button2.Text = “连接“;
return;
}
this.liaotian.Clear();
this.neirong.AppendText(“我:“ + str + “\r\n“);
}
///
/// 点第一次连接 第二次关闭连接
///
///
///
private void button2_Click(object sender EventArgs e)
{
if (this.button2.Text == “关闭“)
{
lian.Close();
this.button2.Text = “连接“;
return;
}
try
{
//创建负责通信的Socket
lian = new Socket(AddressFamily.InterNetwork SocketType.Stream ProtocolType.Tcp);
IPAddress ip = IPAddress.Parse(“127.0.0.1“);
IPEndPoint point = new IPEndPoint(ip 3333);
//获得要连接的远程服务器应用程序的IP地址和端口号
lian.Connect(point);
//开启一个新的线程不停的接收服务端发来的消息
Thread t = new Thread(jieshou);
t.IsBackground = true;
t.Start();
this.button2.Text = “关闭“;
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 10752 2017-08-20 17:34 聊天室\客户端\bin\Debug\客户端.exe
文件 26112 2017-08-20 17:34 聊天室\客户端\bin\Debug\客户端.pdb
文件 14328 2017-08-20 17:32 聊天室\客户端\bin\Debug\客户端.vshost.exe
文件 490 2009-06-11 05:14 聊天室\客户端\bin\Debug\客户端.vshost.exe.manifest
文件 3324 2017-08-20 17:34 聊天室\客户端\Form1.cs
文件 5089 2017-08-20 14:39 聊天室\客户端\Form1.Designer.cs
文件 5814 2017-08-20 14:39 聊天室\客户端\Form1.resx
文件 722 2017-08-20 17:32 聊天室\客户端\obj\Debug\客户端.csproj.FileListAbsolute.txt
文件 847 2017-08-20 14:39 聊天室\客户端\obj\Debug\客户端.csproj.GenerateResource.Cache
文件 10752 2017-08-20 17:34 聊天室\客户端\obj\Debug\客户端.exe
文件 180 2017-08-20 14:39 聊天室\客户端\obj\Debug\客户端.Form1.resources
文件 26112 2017-08-20 17:34 聊天室\客户端\obj\Debug\客户端.pdb
文件 180 2017-08-19 16:09 聊天室\客户端\obj\Debug\客户端.Properties.Resources.resources
文件 490 2017-08-19 15:53 聊天室\客户端\Program.cs
文件 1350 2017-08-19 15:53 聊天室\客户端\Properties\AssemblyInfo.cs
文件 2868 2017-08-19 15:53 聊天室\客户端\Properties\Resources.Designer.cs
文件 5612 2017-08-19 15:53 聊天室\客户端\Properties\Resources.resx
文件 1094 2017-08-19 15:53 聊天室\客户端\Properties\Settings.Designer.cs
文件 249 2017-08-19 15:53 聊天室\客户端\Properties\Settings.settings
文件 3764 2017-08-19 16:09 聊天室\客户端\客户端.csproj
文件 10752 2017-08-20 15:12 聊天室\聊天室\bin\Debug\聊天室.exe
文件 28160 2017-08-20 15:12 聊天室\聊天室\bin\Debug\聊天室.pdb
文件 14328 2017-08-19 16:10 聊天室\聊天室\bin\Debug\聊天室.vshost.exe
文件 490 2009-06-11 05:14 聊天室\聊天室\bin\Debug\聊天室.vshost.exe.manifest
文件 4855 2017-08-20 15:12 聊天室\聊天室\Form1.cs
文件 4361 2017-08-19 17:27 聊天室\聊天室\Form1.Designer.cs
文件 5814 2017-08-19 17:27 聊天室\聊天室\Form1.resx
文件 722 2017-08-20 15:01 聊天室\聊天室\obj\Debug\聊天室.csproj.FileListAbsolute.txt
文件 847 2017-08-19 17:27 聊天室\聊天室\obj\Debug\聊天室.csproj.GenerateResource.Cache
文件 10752 2017-08-20 15:12 聊天室\聊天室\obj\Debug\聊天室.exe
............此处省略32个文件信息
相关资源
- C#继承多态 某公司雇员(Employee)包
- C#6.0学习笔记随书代码
- c#读取某张图片并旋转18度26度
- C#语言的网络爬虫
- 杨中科老师.net视频1-13季
- c#与三菱PLC通讯读写
- C#基本读取和写入INI配置文件
- 《零基础学C#》明日科技出版丛书光盘
- 从NTP服务器获取准确的时间,常常被
- C#操作数据库增删改查
- C#多线程编程 线程与窗体交互源码.
- oracle 图书馆系统
- c#窗体编程显示鼠标位置;菜单程序;
- C# asp.net导入和导出excel完整源码
- C# 操作解析Json源码
- 漂亮的C#软件启动界面特效源码 这是
- c# 完美解析csv
- C# 蓝牙 文件传输 DEMO
- C#开发大全(基础卷)源码-蓝松
- C# SFTP上传文件
- 用C#写的个人所得税计算器
- C#用户名密码登入程序很适合初学者(
- c#实现HttpClient拼接multipart/form-data形式
- C#试题最全版本2020
- C#圣诞树程序,可当圣诞礼物
- 用c#编写的矩阵类,可进行矩阵的各项
- kmeans聚类算法——C#实现
- C#启动界面类似动画效果,非常漂亮,
- C#版IEEE754
- winform动态生成label和控件拖动(C#.N
评论
共有 条评论