资源简介

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个文件信息

评论

共有 条评论