资源简介
C#TCP服务器和客户端Winform源代码,基于.net4.0开发的两个窗体简单的应用程序,能自由收发信号。自己在学习的时候,按网上敲出来的代码关闭时老报错,自己根据学习是的经验整合出来的代码,程序代码有注释,适合于C#TCP入门级新手参考。
代码片段和文件信息
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.IO;
using System.Threading;
using System.Net.NetworkInformation;
namespace TcpClientTest
{
public partial class FormTcpServer : Form
{
public FormTcpServer()
{
InitializeComponent();
}
Thread threadReceive;//接收客户端发送消息的线程
private TcpClient tcpClient;//服务端与客户端建立连接
private NetworkStream newworkStream;//利用NetworkStream对象与远程主机发送数据或接收数据
int readCount = 0;
int sendCount = 0;
private void Form1_Load(object sender EventArgs e)
{
CheckForIllegalCrossThreadCalls = false;
this.Text = System.Reflection.Assembly.GetExecutingAssembly().GetName().Name + “V1.0“;
}
private void button_send_Click(object sender EventArgs e)
{
try
{
if (tcpClient != null && tcpClient.Connected == true) //判断客户端是否连接
{
if (textBox_Send.Text.Length > 0) //判断发送数据是否为空
{
byte[] buffer = System.Text.Encoding.Default.GetBytes(textBox_Send.Text);//将字符串转换为byte数组
newworkStream.Write(buffer 0 buffer.Length); //服务器向服务器发送消息
textBox_Log.AppendText(DateTime.Now + “--发送数据:“ + textBox_Send.Text + “\r\n“); //消息提示
sendCount += buffer.Length; //统计发送数据总长度
label_sendcount.Text = “发送:“ + sendCount + “字节“; //显示发送数据长度
textBox_Send.Text = ““; //清空数据编辑框
}
}
else textBox_Log.AppendText(“客户端Unconnected!\r\n“); //消息提示
}
catch
{
textBox_Log.AppendText(“客户端Unconnected!\r\n“); //消息提示
}
}
// 客户端端不停的接收服务器发送的消息
private void Receive()
{
try
{
while (true)
{
byte[] buffer = new byte[tcpClient.ReceiveBufferSize]; //定义消息接收缓冲区
int count = newworkStream.Read(buffer 0 buffer.Length);//实际接收到的有效字节数
if (count == 0) //count=0 表示客户端关闭,要退出循环
{
label_state.Text = “状态:Unconnected“; //状态显示
btn_Unconnected_Click(null null); //断开连接
break; //退出循环
}
else
{
string str = Encoding.Default.GetString(buffer 0 count).Trim(‘\0‘); //从缓冲区中读取消息
string strReceiveMsg = DateTime.Now + “--接收数据:“; //消息提示
textBox_Log.
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 144 2018-06-08 14:43 TcpTest--V1.0\TcpClientTest\app.config
文件 15872 2018-06-08 20:24 TcpTest--V1.0\TcpClientTest\bin\Debug\TcpClient.exe
文件 144 2018-06-08 14:43 TcpTest--V1.0\TcpClientTest\bin\Debug\TcpClient.exe.config
文件 30208 2018-06-08 20:24 TcpTest--V1.0\TcpClientTest\bin\Debug\TcpClient.pdb
文件 11592 2018-06-08 20:30 TcpTest--V1.0\TcpClientTest\bin\Debug\TcpClient.vshost.exe
文件 144 2018-06-08 14:43 TcpTest--V1.0\TcpClientTest\bin\Debug\TcpClient.vshost.exe.config
文件 490 2017-09-29 21:43 TcpTest--V1.0\TcpClientTest\bin\Debug\TcpClient.vshost.exe.manifest
文件 144 2018-06-08 14:43 TcpTest--V1.0\TcpClientTest\bin\Debug\TcpServer.vshost.exe.config
文件 490 2017-09-29 21:43 TcpTest--V1.0\TcpClientTest\bin\Debug\TcpTest.vshost.exe.manifest
文件 7703 2018-06-08 18:30 TcpTest--V1.0\TcpClientTest\FormTcpClient.cs
文件 15844 2018-06-08 18:18 TcpTest--V1.0\TcpClientTest\FormTcpClient.Designer.cs
文件 5817 2018-06-08 18:18 TcpTest--V1.0\TcpClientTest\FormTcpClient.resx
文件 7037 2018-06-08 20:25 TcpTest--V1.0\TcpClientTest\obj\x86\Debug\DesignTimeResolveAssemblyReferences.cache
文件 6180 2018-06-08 20:29 TcpTest--V1.0\TcpClientTest\obj\x86\Debug\DesignTimeResolveAssemblyReferencesInput.cache
文件 1360 2018-06-08 16:51 TcpTest--V1.0\TcpClientTest\obj\x86\Debug\TcpClient.csproj.FileListAbsolute.txt
文件 983 2018-06-08 14:45 TcpTest--V1.0\TcpClientTest\obj\x86\Debug\TcpClient.csproj.GenerateResource.Cache
文件 15872 2018-06-08 20:24 TcpTest--V1.0\TcpClientTest\obj\x86\Debug\TcpClient.exe
文件 180 2018-06-08 14:45 TcpTest--V1.0\TcpClientTest\obj\x86\Debug\TcpClient.FormTcpClient.resources
文件 30208 2018-06-08 20:24 TcpTest--V1.0\TcpClientTest\obj\x86\Debug\TcpClient.pdb
文件 180 2018-06-08 17:00 TcpTest--V1.0\TcpClientTest\obj\x86\Debug\TcpClient.Properties.Resources.resources
文件 1402 2018-06-08 20:30 TcpTest--V1.0\TcpClientTest\obj\x86\Debug\TcpClientTest.csproj.FileListAbsolute.txt
文件 983 2018-06-08 20:22 TcpTest--V1.0\TcpClientTest\obj\x86\Debug\TcpClientTest.csproj.GenerateResource.Cache
文件 180 2018-06-08 17:00 TcpTest--V1.0\TcpClientTest\obj\x86\Debug\TcpClientTest.FormTcpClient.resources
文件 180 2018-06-08 20:24 TcpTest--V1.0\TcpClientTest\obj\x86\Debug\TcpClientTest.FormTcpServer.resources
文件 180 2018-06-08 20:24 TcpTest--V1.0\TcpClientTest\obj\x86\Debug\TcpClientTest.Properties.Resources.resources
文件 658 2018-06-07 13:37 TcpTest--V1.0\TcpClientTest\obj\x86\Debug\TcpListenerTest.csproj.FileListAbsolute.txt
文件 975 2018-06-07 13:31 TcpTest--V1.0\TcpClientTest\obj\x86\Debug\TcpListenerTest.csproj.GenerateResource.Cache
文件 180 2018-06-07 13:31 TcpTest--V1.0\TcpClientTest\obj\x86\Debug\TcpListenerTest.Form1.resources
文件 180 2018-06-04 20:49 TcpTest--V1.0\TcpClientTest\obj\x86\Debug\TcpListenerTest.Properties.Resources.resources
文件 1907 2018-06-08 16:58 TcpTest--V1.0\TcpClientTest\obj\x86\Debug\TcpServer.csproj.FileListAbsolute.txt
............此处省略73个文件信息
相关资源
- C# winform Socket大文件传输
- C# 实现局域网视频监控Socket 编程
- C# 使用 TcpClient,Socket 聊天
- 网页js与本地C#程序 websocket通讯实现打
- 使用WPF+MVVMlight编写的Socket服务器/多客
- winform五子棋联机版
- vb.net 与 c#.net 网络编程之 socket 套接字
- C#高性能大容量SOCKET并发
- 基于.NET/C#平台socket技术开发的一个多
- C# .NET Web API 完整 Demo
- C#超级通信调试工具源码可直接运行
- winform客户端SuperWebSocket通信Demo
- 基于Socket的企业聊天软件源码201267
- SuperSocket(服务端winform+客户端winfor
- C#在线聊天系统客户端+服务器
- C#高性能大容量SOCKET并发完成端口IO
- 局域网通讯QQ
- c#使用一个socket同时发送字符串和文件
- C# IOCP高性能 SOCKET并发完成端口有C#客
- C#网络编程TCP通信程序简单设计
- TCP/IP Sockets in C#: Practical Guide for Prog
- C#断点续传控制台版
- 基于SMTP协议的电子邮件发送程序的设
- DirectoryWatch.rar
- asp.net+websocket+emgucv实现人脸识别完整
- C#与nodejs socketio 互传
- 基于C#和SuperWebSocket、WebRtc开发的网页
- C#Socket网络通信实现多人聊天
- [C#]SignalR实现扫码登录(B/SC/S)源码
- c#socket 聊天室 五子棋 局域网PVP对战
评论
共有 条评论