资源简介
本代码分别提供了基于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# .Net Socket TCP 大数据 大文件 传输 经
- C# winform实现一个服务端和多个客户端
- C# web socket 客户端实现源码
- c#串口和socket开发源码
- UDP异步通讯SocketAsyncEventArgs
- C#聊天程序
-
C#通过Socket发送ob
ject对象,序列化反 - c#IPCO多线程并发业务处理
- C# socket通信的服务器和客户端
- SharpTcpScanner扫描器1.9版
- C#基于TCP的Socket多线程通信包含服务端
- C#Socket多线程聊天室
- C#Socket 封装了Tcp/Udp传输字串、文件、
- 基于C#net4.5实现最简单的websocket客户端
- C# Socket_服务端向指定的客户端发送消
- C#.net udp 点对点聊天程序
- c#源码 Socket 负载均衡
- TCP_ServerAndClient.rar
- C# Socket实现TCPClient
- C#winform TCP通信 UDP通信 Socket通信 vs2
- C# SOCKET TCP UDP测试工具及源代码
- C#Socket异步服务器 IOCP 源码
- C# 推送数据 SOCKET 完整
- vs2010 c#编写的websocket 同时支持TCP和
- C#超级通信调试工具
- C#实现Socket高性能、大容量并发附完整
- websocket-sharp.dll文件
- C# ASP.NET MVC WebSocket
- C#socket 大文件传输 分段传输 C#DEMO
- C# Socket TCP和UDP报文及端口测试工具的
评论
共有 条评论