zoukankan      html  css  js  c++  java
  • C# TCP 通讯

    //接收

    using System;

    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.IO;
    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 TcpReceiver
    {
        public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
                Thread th = new Thread(new ThreadStart(RecvData));
                th.Start();
            }


            private void RecvData()
            {
                IPAddress localAddr = IPAddress.Parse("127.0.0.1");
                int port = 10001;


                TcpListener listener = new TcpListener(localAddr, port);
                listener.Start();
                TcpClient client = listener.AcceptTcpClient();
                NetworkStream ns = client.GetStream();

                StreamReader sr = new StreamReader(ns);
                string result = sr.ReadToEnd();
                Invoke(new UpdateDisplayDelegate(UpdateDisplay), new Object[] { result });
                client.Close();
                listener.Stop();
            }


            delegate void UpdateDisplayDelegate(string text);

            void UpdateDisplay(string text)
            {
                txtRecv.Text = text;
            }
        }

    }


    //发送

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.IO;
    using System.Linq;
    using System.Net.Sockets;
    using System.Text;
    using System.Threading.Tasks;
    using System.Windows.Forms;


    namespace TcpExam
    {
        public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
            }


            private void btnSend_Click(object sender, EventArgs e)
            {
                TcpClient client = new TcpClient(txtHost.Text, int.Parse(txtPort.Text));
                NetworkStream ns = client.GetStream();
                FileStream fs = File.Open("Form1.cs",FileMode.Open);

                int t = fs.ReadByte();
                while (t != -1)
                {
                    ns.WriteByte((byte)t);
                    t = fs.ReadByte();
                }
                fs.Close();
                ns.Close();
                client.Close();
            }
        }
    }

  • 相关阅读:
    RabbitMQ 入门
    Spring boot 2.x 中使用redis
    spring boot 中 Cache 的使用
    vbs 入门
    移动端文本框被原生键盘弹出后挡住文本框
    HTML中添加音乐video embed audio
    input修改placeholder文字颜色
    vue中更换.ico图标报错路径找不到图片
    Chrome表单文本框自动填充黄色背景色样式
    请求头缺少 'Access-Control-Allow-Origin'
  • 原文地址:https://www.cnblogs.com/dxmfans/p/9434765.html
Copyright © 2011-2022 走看看