C#中用Socket网络编程的问题,从客户端把数据发送到指定的IP和端口

public Socket c;
        public int bytes;
        public byte[] recvBytes = new byte[1024];
        public string recvStr = "";
        private void button1_Click(object sender, EventArgs e)
        {
            try            
            {               
                               
                int port = 2001;                
                string host = "192.168.1.1";                
                IPAddress ip = IPAddress.Parse(host);                
                IPEndPoint ipe = new IPEndPoint(ip, port);//把ip和端口转化为IPEndPoint实例  

 
                c = null;
                c = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);//创建一个Socket
                c.ReceiveTimeout = 3000;//通讯超时
                //ShowMessage("Conneting...");               
                c.Connect(ipe);//连接到服务器   

 
                string sendStr = "hello!This is a socket test";
                byte[] bs = Encoding.ASCII.GetBytes(sendStr);
                c.Send(bs, bs.Length, 0);//发送测试信息  

 
                bytes = c.Receive(recvBytes, recvBytes.Length, 0);//从服务器端接受返回信息 
                recvStr = Encoding.ASCII.GetString(recvBytes, 0, bytes);
                richTextBox1.AppendText(recvStr + "\r\n");//把从服务器发过来的数据显示出来
                richTextBox1.ScrollToCaret();

 
                //c.Disconnect(true);
            }           
            catch (ArgumentNullException a)
            {
                MessageBox.Show(String.Format("ArgumentNullException:{0}", a));
            }            
            catch (SocketException a)
            {
                MessageBox.Show(String.Format("SocketException:{0}", a.Message));
            }
           // MessageBox.Show(String.Format("PressEntertoExit"));
        }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值