数据库是最基础的吧
数据库不会,socket你会?
socket也不会,你是想闹哪样

解决方案 »

  1.   

    现在特纠结为什么.exe打不开,双击了什么都没有。socket通讯还没有那么不清楚
      

  2.   

    现在特纠结为什么.exe打不开,双击了什么都没有。socket通讯还没有那么不清楚
    单步调试,找到问题,不懂先谷歌,看看想想,再不懂,来问。
    不过那也是你有一定基础才行,不然别人说什么你都不懂,那怎么解决问题
      

  3.   

    QAQ 改到这个BUG不知道怎么弄了************** 异常文本 **************
    System.NullReferenceException: 未将对象引用设置到对象的实例。
       在 MyQQClient.Client_SerSetup.button_OK_Click(Object sender, EventArgs e) 位置 d:\各种代码\C#练习\MyQQ\QQClass\MyQQClient\Client_SerSetup.cs:行号 90
       在 System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
       在 System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
       在 System.Windows.Forms.Control.WndProc(Message& m)
       在 System.Windows.Forms.ButtonBase.WndProc(Message& m)
       在 System.Windows.Forms.Button.WndProc(Message& m)
       在 System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
    代码:
         private void sockUDP1_DataArrival(byte[] Data,System.Net.IPAddress Ip,int Port)
            {
                DataArrivaldelegate outdelegate = new DataArrivaldelegate(sockUDP1_DataArrival);//托管
                this.BeginInvoke(outdelegate, new object[] { Data, Ip, Port });                 //异步执行托管
            }
           private void button_OK_Click(object sender, EventArgs e)        //确定
            {
                if(text_PassWord.Text.Trim ()==text_PassWord2.Text.Trim())  //Trim去除前后空白 判断两次密码是否相同
                {
                    QQClass.ClassMsg.RegisterMsg registermsg = new QQClass.ClassMsg.RegisterMsg();
                    registermsg.UserName = text_Name.Text;
                    registermsg.PassWord = text_PassWord.Text;
                    byte[] registerData = new ClassSerializers().SerializeBinary(registermsg).ToArray();
                    ClassMsg msg = new ClassMsg();
                    msg.sendKind = QQClass.ClassMsg.SendKind.SendCommand;
                    msg.msgCommand = QQClass.ClassMsg.MsgCommand.Registering;
                    msg.data = registerData;
                    serID = text_IP.Text.Trim();
                    udpSocket1.Send(IPAddress.Parse(serID), 
                        Convert.ToInt32(text_Port.Text.Trim()), 
                        new ClassSerializers().SerializeBinary(msg).ToArray());
                    //使用udpSocket控件的Send方法向服务器发送消息
                }
                else
                {
                    text_PassWord.Text = "";
                    text_PassWord2.Text = "";
                    MessageBox.Show("密码与确认密码不匹配,请重新输入!");   //两次密码不同
                }
            }