打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
socket 客户端发消息到服务端
客户端:
 
     private void Form1_Load(object sender, EventArgs e)
        {
            //得到本机地址
            IPHostEntry ieh = Dns.GetHostEntry(Dns.GetHostName());
            txtIP.Text = ieh.AddressList[0].ToString();
        }
        private void btn_Send_Click(object sender, EventArgs e)
        {
            BeginSend();
        }
        //发送信息
        private void BeginSend()
        {
            string ip = txtIP.Text;
            string port = txtPort.Text;
            string msg = txtMsg.Text.Trim();
           
            Socket socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
            IPAddress serverIp = IPAddress.Parse(ip);
            int serverPort = Convert.ToInt32(port);
            IPEndPoint iep = new IPEndPoint(serverIp, serverPort);                       
            socket.Connect(iep);
            byte[] byteMessage;
            byteMessage = Encoding.ASCII.GetBytes(msg);
            socket.Send(byteMessage);
            socket.Shutdown(SocketShutdown.Both);
            socket.Close();           
        }       
 
 
 
 
 
服务端:
 
 
     private void btn_Listen_Click(object sender, EventArgs e)
        {
            try
            {
                mythread = new Thread(new ThreadStart(BeginListen));
                mythread.Start();
            }
            catch (System.Exception er)
            {
                MessageBox.Show(er.Message, "完成", MessageBoxButtons.OK, MessageBoxIcon.Stop);
            }
        }
        //获取本机IP地址
        public static IPAddress GetServerIP()
        {
            IPHostEntry ieh = Dns.GetHostEntry(Dns.GetHostName());
            return ieh.AddressList[0];
        }
        //监听
        private void BeginListen()
        {           
            socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
                       
            IPAddress ServerIp = GetServerIP();
            IPEndPoint iep = new IPEndPoint(ServerIp, port);
            socket.Bind(iep);
            toolStripStatusLabel1.Text = iep.ToString() + "正在监听...";
            byte[] byteMessage = new byte[100];
            while (true)
            {
                try
                {
                    socket.Listen(5);
                    Socket newSocket = socket.Accept();
                    newSocket.Receive(byteMessage);
                    string sTime = DateTime.Now.ToShortTimeString();
                    string msg = sTime + "-" + "信息来自:";
                    msg += newSocket.RemoteEndPoint.ToString() +" "+ Encoding.Default.GetString(byteMessage).Trim(new char[] {'\0'});
                    richTextBox1.AppendText(msg + "\r\n");
                }
                catch (SocketException ex)
                {
                    toolStripStatusLabel1.Text += ex.ToString();
                }
            }           
        }
      
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
学C# socket编程之一(入门)
Socket的select模型
C#广播程序
多线程Socket 编程实现局域网通信
C#网络编程(二)
C# Socket 网络编程
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服