zoukankan      html  css  js  c++  java
  • socket

     public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
                TextBox.CheckForIllegalCrossThreadCalls = false;
            }
            //负责监听端口
            Socket sokWelcome = null;
            //负责和客户端socket通信
            Socket sokConnection = null;
            //负责监听的线程
            Thread threadWatchPort = null;
    
            
            public void StartListening()
            {
                try
                {
                    IPAddress address = IPAddress.Parse(txtIP.Text.Trim());
                    IPEndPoint endpoint = new IPEndPoint(address, int.Parse(txtProt.Text.Trim()));
                    sokWelcome = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
                    sokWelcome.Bind(endpoint);
                    sokWelcome.Listen(10);
                    threadWatchPort = new Thread(WatchPort);
                    threadWatchPort.Start();
                    ShowMsg("开始监听....");
                }
                catch (Exception ex)
                {
    
                    ShowErr("", ex);
                }
                
            }
            public void WatchPort()
            {
                while (true)
                {
                    try
                    {
                        sokConnection = sokWelcome.Accept();
                        ShowMsg("监听到链接啦...");
                    }
                    catch (Exception ex)
                    {
    
                        ShowErr("", ex);
                    }
                }
            }
            public void ShowErr(string msg, Exception ex)
            {
                ShowMsg("---------------begin---------------------");
                ShowMsg(msg + "" + ex.Message);
                ShowMsg("---------------end-----------------------");
     
            }
            public void ShowMsg(string msg)
            {
                txtShow.AppendText(msg + "
    ");
            }
            private void btnListen_Click(object sender, EventArgs e)
            {
                StartListening();
            }
    
            private void btnSend_Click(object sender, EventArgs e)
            {
                string strMsg = txtInput.Text.Trim();
                byte[] byteMsg = Encoding.UTF8.GetBytes(strMsg);
                sokConnection.Send(byteMsg, byteMsg.Length, SocketFlags.None);
    
            }
        }
  • 相关阅读:
    linux基础
    hadoop部署
    django.db.utils.OperationalError: cannot ALTER TABLE "servers_ecs" because it has pending trigger events
    理解go的闭包
    go time模块
    Android 安全性和权限
    Android permission
    AndroidManifest.xml--android系统权限定义
    关于Android4.x系统默认显示方向各种修改
    跨域解决方案
  • 原文地址:https://www.cnblogs.com/zhanying/p/3491239.html
Copyright © 2011-2022 走看看