资源简介
C# Socket通讯DEMO,包括服务端客户端,能够实现简单聊天功能。结构简单方便用来学习深度开发

代码片段和文件信息
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Net;
using System.Net.Sockets;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace SocketClient
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
//关闭对文本框的非法线程操作检查
TextBox.CheckForIllegalCrossThreadCalls = false;
}
// 创建一个客户端套接字
Socket clientSocket = null;
// 创建一个监听服务端的线程
Thread threadServer = null;
private void btn_Click(object sender EventArgs e)
{
clientSocket = new Socket(AddressFamily.InterNetwork SocketType.Stream ProtocolType.Tcp);
if (string.IsNullOrEmpty(ipAddress.Text.ToString()))
{
MessageBox.Show(“监听ip地址不能为空!“);
return;
}
if (string.IsNullOrEmpty(port.Text.ToString()))
{
MessageBox.Show(“监听端口不能为空!“);
return;
}
IPAddress ip = IPAddress.Parse(ipAddress.Text.Trim());
IPEndPoint endpoint = new IPEndPoint(ip int.Parse(port.Text.Trim()));
try
{ //这里客户端套接字连接到网络节点(服务端)用的方法是Connect 而不是Bind
clientSocket.Connect(endpoint);
}
catch
{
chatContent.AppendText(“连接失败!“);
}
// 创建一个线程监听服务端发来的消息
threadServer = new Thread(recMsg);
threadServer.IsBackground = true;
threadServer.Start();
}
///
/// 接收服务端发来的消息
///
private void recMsg() {
while (true) //持续监听服务端发来的消息
{
//定义一个1M的内存缓冲区 用于临时性存储接收到的信息
byte[] arrRecMsg = new byte[1024 * 1024];
int length = 0;
try
{
//将客户端套接字接收到的数据存入内存缓冲区 并获取其长度
length = clientSocket.Receive(arrRecMsg);
}
catch
{
return;
}
//将套接字获取到的字节数组转换为人可以看懂的字符串
string strRecMsg = Encoding.UTF8.GetString(arrRecMsg 0 length);
//将发送的信息追加到聊天内容文本框中
chatContent.AppendText(“服务端(“ + GetCurrentTime() + “):“ + strRecMsg + “\r\n“);
}
}
///
/// 发送消息到服务端
///
///
private void clientSendMsg(string msg)
{
byte[] sendMsg = Encoding.UTF8.GetBytes(msg);
clientSocket.Send(sendMsg);
chatContent.AppendText(“客户端(“ + GetCurrentTime() + “):“ + msg + “\r\n“);
}
///
/// 获取当前系统时间的方法
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2017-10-12 02:54 Socket-master\
文件 132 2017-10-12 02:54 Socket-master\.gitignore
目录 0 2017-10-12 02:54 Socket-master\SocketServer\
目录 0 2017-10-12 02:54 Socket-master\SocketServer\.vs\
目录 0 2017-10-12 02:54 Socket-master\SocketServer\.vs\SocketServer\
目录 0 2017-10-12 02:54 Socket-master\SocketServer\.vs\SocketServer\v15\
文件 68096 2017-10-12 02:54 Socket-master\SocketServer\.vs\SocketServer\v15\.suo
目录 0 2017-10-12 02:54 Socket-master\SocketServer\.vs\SocketServer\v15\sqlite3\
文件 593920 2017-10-12 02:54 Socket-master\SocketServer\.vs\SocketServer\v15\sqlite3\storage.ide
目录 0 2017-10-12 02:54 Socket-master\SocketServer\SocketClient\
文件 182 2017-10-12 02:54 Socket-master\SocketServer\SocketClient\App.config
文件 6541 2017-10-12 02:54 Socket-master\SocketServer\SocketClient\Form1.Designer.cs
文件 3870 2017-10-12 02:54 Socket-master\SocketServer\SocketClient\Form1.cs
文件 5698 2017-10-12 02:54 Socket-master\SocketServer\SocketClient\Form1.resx
文件 502 2017-10-12 02:54 Socket-master\SocketServer\SocketClient\Program.cs
目录 0 2017-10-12 02:54 Socket-master\SocketServer\SocketClient\Properties\
文件 1304 2017-10-12 02:54 Socket-master\SocketServer\SocketClient\Properties\AssemblyInfo.cs
文件 2766 2017-10-12 02:54 Socket-master\SocketServer\SocketClient\Properties\Resources.Designer.cs
文件 5496 2017-10-12 02:54 Socket-master\SocketServer\SocketClient\Properties\Resources.resx
文件 1069 2017-10-12 02:54 Socket-master\SocketServer\SocketClient\Properties\Settings.Designer.cs
文件 242 2017-10-12 02:54 Socket-master\SocketServer\SocketClient\Properties\Settings.settings
文件 3488 2017-10-12 02:54 Socket-master\SocketServer\SocketClient\SocketClient.csproj
文件 0 2017-10-12 02:54 Socket-master\SocketServer\SocketClient\reback.txt
文件 1592 2017-10-12 02:54 Socket-master\SocketServer\SocketServer.sln
目录 0 2017-10-12 02:54 Socket-master\SocketServer\SocketServer\
文件 182 2017-10-12 02:54 Socket-master\SocketServer\SocketServer\App.config
文件 6522 2017-10-12 02:54 Socket-master\SocketServer\SocketServer\Form1.Designer.cs
文件 4596 2017-10-12 02:54 Socket-master\SocketServer\SocketServer\Form1.cs
文件 5698 2017-10-12 02:54 Socket-master\SocketServer\SocketServer\Form1.resx
文件 502 2017-10-12 02:54 Socket-master\SocketServer\SocketServer\Program.cs
目录 0 2017-10-12 02:54 Socket-master\SocketServer\SocketServer\Properties\
............此处省略28个文件信息
- 上一篇:C#银行管理系统源代码
- 下一篇:C#调用CMD命令并获取动态信息
相关资源
- C# OCR数字识别实例,采用TessnetOcr,对
- 考试管理系统 - C#源码
- asp.net C#购物车源代码
- C#实时网络流量监听源码
- C#百度地图源码
- Visual C#.2010从入门到精通配套源程序
- C# 软件版本更新
- C#屏幕软键盘源码,可以自己定制界面
- 智慧城市 智能家居 C# 源代码
- c#获取mobile手机的IMEI和IMSI
- C#实现简单QQ聊天程序
- 操作系统 模拟的 欢迎下载 C#版
- C#写的计算机性能监控程序
- 用C#实现邮件发送,有点类似于outlo
- MVC model层代码生成器 C#
- c#小型图书销售系统
- C# Socket Server Client 通讯应用 完整的服
- c# winform 自动登录 百度账户 源代码
- C#编写的16进制计算器
- C#TCP通信协议
- C# 数据表(Dataset)操作 合并 查询一
- C#语音识别系统speechsdk51,SpeechSDK51L
- 数据库备份还原工具1.0 C# 源码
-
[免费]xm
lDocument 节点遍历C# - EQ2008LEDc#开发实例
- DirectX.Capturec# winform 操作摄像头录像附
- c# 实现的最大最小距离方法对鸢尾花
- C#版保龄球记分代码
- C#自定义控件
- 基于c#的实验室设备管理系统621530
评论
共有 条评论