资源简介
本代码分别提供了基于Socket 做的即时通信实例的客户端和服务器端。代码结构清晰,注释明了。适合Socket入门学习,调试使用,以及Demo的二次开发。

代码片段和文件信息
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.Net.Sockets;
using System.Threading;
namespace Chat_Demo_Server
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
Socket socketSend;//负责发送信息的socket
//将远程连接的客户端的IP地址和Socket存入集合中
Dictionary dicSocket = new Dictionary();
///
/// 监测
///
///
///
private void button1_Click(object sender EventArgs e)
{
try
{
//当点击开始监听的时候 在服务器端创建一个负责监听IP地址和端口号的Socket
//addressFamily: Socket:使用的寻址方案,socketType:Socket 的类型,protocolType:Socket 使用的协议。
Socket socketWatch = new Socket(AddressFamily.InterNetwork SocketType.Stream ProtocolType.Tcp);
IPAddress ip = IPAddress.Any;
//创建服务器端网络端点对象
IPEndPoint point = new IPEndPoint(ip Convert.ToInt32(ProText.Text));
//侦听Soket与本地终结点绑定
socketWatch.Bind(point);
//设置为监听状态
socketWatch.Listen(10);
ShowMsg(“监听成功“);
//新建线程等待连接,创建通信Socket
Thread th = new Thread(Listen);
th.IsBackground = true;//设置为后台线程
th.Start(socketWatch);
}
catch
{
}
}
///
/// 发送消息
///
///
///
private void button2_Click(object sender EventArgs e)
{
string str = chatBoxSend.Text.Trim();
byte[] buf = Encoding.UTF8.GetBytes(str);
List byteList = new List();
//根据自定义的协议,发送的字节数组的第一位为0是表示发送的是文本
byteList.Add(0);
byteList.AddRange(buf);
//泛型集合转换为新的数组
byte[] newBuffer = byteList.ToArray();
//获取用户在下拉框中的IP地址
try
{
string ip = cboUsers.SelectedItem.ToString();
dicSocket[ip].Send(newBuffer);
chatBoxSend.Text = ““;
}
catch
{
}
}
//
private void Listen(object o)
{
Socket socketWatch = o as Socket;
//循环目的在于使得多个客户端可以连接服务器
while (true)
{
try
{
//等待客户端连接由侦听的Socket创建一个负责与客户端通信的Socket
socketSend = socketWatch.Accept();
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
..A..H. 44544 2019-03-09 14:17 Socket基础框架\Server\.vs\Chat_Demo_Server\v15\.suo
文件 11776 2019-03-09 13:46 Socket基础框架\Server\Chat_Demo_Server\bin\Debug\Chat_Demo_Server.exe
文件 24064 2019-03-09 13:46 Socket基础框架\Server\Chat_Demo_Server\bin\Debug\Chat_Demo_Server.pdb
文件 11600 2017-10-27 10:52 Socket基础框架\Server\Chat_Demo_Server\bin\Debug\Chat_Demo_Server.vshost.exe
文件 490 2010-03-17 22:39 Socket基础框架\Server\Chat_Demo_Server\bin\Debug\Chat_Demo_Server.vshost.exe.manifest
文件 3691 2017-10-26 17:39 Socket基础框架\Server\Chat_Demo_Server\Chat_Demo_Server.csproj
文件 5577 2017-10-27 10:53 Socket基础框架\Server\Chat_Demo_Server\Form1.cs
文件 5364 2017-10-27 10:29 Socket基础框架\Server\Chat_Demo_Server\Form1.Designer.cs
文件 5817 2017-10-27 10:29 Socket基础框架\Server\Chat_Demo_Server\Form1.resx
文件 1853 2019-03-09 13:46 Socket基础框架\Server\Chat_Demo_Server\obj\x86\Debug\Chat_Demo_Server.csproj.FileListAbsolute.txt
文件 1012 2019-03-09 13:46 Socket基础框架\Server\Chat_Demo_Server\obj\x86\Debug\Chat_Demo_Server.csproj.GenerateResource.Cache
文件 9177 2019-03-09 13:46 Socket基础框架\Server\Chat_Demo_Server\obj\x86\Debug\Chat_Demo_Server.csprojResolveAssemblyReference.cache
文件 11776 2019-03-09 13:46 Socket基础框架\Server\Chat_Demo_Server\obj\x86\Debug\Chat_Demo_Server.exe
文件 180 2017-10-27 10:29 Socket基础框架\Server\Chat_Demo_Server\obj\x86\Debug\Chat_Demo_Server.Form1.resources
文件 24064 2019-03-09 13:46 Socket基础框架\Server\Chat_Demo_Server\obj\x86\Debug\Chat_Demo_Server.pdb
文件 180 2017-10-26 17:39 Socket基础框架\Server\Chat_Demo_Server\obj\x86\Debug\Chat_Demo_Server.Properties.Resources.resources
文件 42 2019-03-09 13:45 Socket基础框架\Server\Chat_Demo_Server\obj\x86\Debug\CoreCompileInputs.cache
文件 2870 2019-03-09 13:46 Socket基础框架\Server\Chat_Demo_Server\obj\x86\Debug\DesignTimeResolveAssemblyReferences.cache
文件 7210 2019-03-09 13:45 Socket基础框架\Server\Chat_Demo_Server\obj\x86\Debug\DesignTimeResolveAssemblyReferencesInput.cache
文件 264 2017-10-27 10:29 Socket基础框架\Server\Chat_Demo_Server\obj\x86\Debug\GenerateResource.read.1.tlog
文件 662 2017-10-27 10:29 Socket基础框架\Server\Chat_Demo_Server\obj\x86\Debug\GenerateResource.write.1.tlog
文件 8031 2017-10-27 09:31 Socket基础框架\Server\Chat_Demo_Server\obj\x86\Debug\ResolveAssemblyReference.cache
文件 497 2017-10-26 17:21 Socket基础框架\Server\Chat_Demo_Server\Program.cs
文件 1382 2017-10-26 17:21 Socket基础框架\Server\Chat_Demo_Server\Properties\AssemblyInfo.cs
文件 2883 2017-10-26 17:21 Socket基础框架\Server\Chat_Demo_Server\Properties\Resources.Designer.cs
文件 5612 2017-10-26 17:21 Socket基础框架\Server\Chat_Demo_Server\Properties\Resources.resx
文件 1102 2017-10-26 17:21 Socket基础框架\Server\Chat_Demo_Server\Properties\Settings.Designer.cs
文件 249 2017-10-26 17:21 Socket基础框架\Server\Chat_Demo_Server\Properties\Settings.settings
文件 890 2017-10-26 17:21 Socket基础框架\Server\Chat_Demo_Server.sln
..A..H. 21504 2017-10-27 10:53 Socket基础框架\Server\Chat_Demo_Server.suo
............此处省略57个文件信息
相关资源
- C# Socket Server Client 通讯应用 完整的服
- C# Socket Tcp文件传输和文字聊天系统
- 用WPF开发的多人聊天室 语言C#
- C# Socket TCP通信
- unity+Socket+KCP+Protobuf的Unity局域网联机
- NET CORE 下实现WEB SOCKET通信
- 使用Socket发送数据
- SignalR在线聊天(websocket)
- Socket获取扫码枪扫码的数据
- Socket聊天室(客户端与服务端相互通
- socket服务端
- socket通讯实例(入门级)58873
- C#多线程以及Socket通讯
- 大文件Socket 传输 客户端和服务端
- Tcp/ip socket 服务器/客户端
- Sockets通信框架
- C# winform Socket大文件传输
- C# 实现局域网视频监控Socket 编程
- C# 使用 TcpClient,Socket 聊天
- 网页js与本地C#程序 websocket通讯实现打
- 使用WPF+MVVMlight编写的Socket服务器/多客
- winform五子棋联机版
- vb.net 与 c#.net 网络编程之 socket 套接字
- C#仿QQ聊天软件源码, 即时通信源码
- C#高性能大容量SOCKET并发
- 基于.NET/C#平台socket技术开发的一个多
- web版即时通信系统 仿QQ聊天程序asp.
- C# .NET Web API 完整 Demo
- C#超级通信调试工具源码可直接运行
- winform客户端SuperWebSocket通信Demo
评论
共有 条评论