--- trunk/Client/ClientDlg.cpp 2007/01/29 14:35:42 8 +++ trunk/Client/ClientDlg.cpp 2007/01/29 15:07:29 9 @@ -72,11 +72,19 @@ ON_WM_QUERYDRAGICON() //}}AFX_MSG_MAP ON_BN_CLICKED(IDC_IPPORT, OnBnClickedIpport) + ON_BN_CLICKED(IDC_Connect, OnBnClickedConnect) END_MESSAGE_MAP() // CClientDlg message handlers - +/*Client socket class*/ +class ClientSocket : public CSocket{ +public: + ClientSocket() { }; + virtual void OnReceive(int nErrorCode); + virtual void OnSend(int nErrorCode); + virtual void OnConnect(int nErrorCode); +}; BOOL CClientDlg::OnInitDialog() { CDialog::OnInitDialog(); @@ -105,19 +113,21 @@ SetIcon(m_hIcon, FALSE); // Set small icon // TODO: Add extra initialization here + + // Get data from regedit CString strip, strport; char Ip[16]; char Port[6]; CRegKey reg; unsigned long size = 16; - LONG res=reg.Open(HKEY_CLASSES_ROOT,"Project",KEY_READ); + LONG res=reg.Open(HKEY_LOCAL_MACHINE, "SOFTWARE\\Projekt\\Client",KEY_READ); if (res == ERROR_SUCCESS) { res=reg.QueryStringValue("IP", Ip,&size); } m_ip.SetWindowText(Ip); - LONG res2=reg.Open(HKEY_CLASSES_ROOT,"Project",KEY_READ); + LONG res2=reg.Open(HKEY_LOCAL_MACHINE, "SOFTWARE\\Projekt\\Client",KEY_READ); if (res2 == ERROR_SUCCESS) { @@ -126,8 +136,8 @@ m_port.SetWindowText(Port); reg.Close(); - - + //connect til server +// Start(); return TRUE; // return TRUE unless you set the focus to a control } @@ -182,17 +192,62 @@ } +ClientSocket sockClient; +CString strIp, strPort; +UINT Portuint; + +/*Clientsocket class used for client socket connections*/ +void ClientSocket::OnReceive( int nErrorCode ) +{ + CString ip; + UINT port; + char buffer[4096]; + CString str; + int size; + + str.Format("%s %d",ip,port,""); + size = Receive(buffer,4095); + buffer[size] = 0; +// Recivetekst = buffer; recivetekst er der ikke endnu + //Send(str,str.GetLength()); vi skal ikke sende endnu + Close(); +} +void ClientSocket::OnSend( int nErrorCode ) +{ +// CString sendnu; skal ikke sende nu + +// sendnu = Sendtekst; skal ikke sende nu + +// Send(sendnu,sendnu.GetLength()); skal ikke sende nu +} void CClientDlg::OnBnClickedIpport() { - CString Ip, Port; - m_ip.GetWindowText(Ip); - m_port.GetWindowText(Port); + //Set new port and ip for the server in regedit + m_ip.GetWindowText(strIp); + m_port.GetWindowText(strPort); CRegKey reg; - reg.Create(HKEY_CLASSES_ROOT, "Project"); + reg.Create(HKEY_LOCAL_MACHINE, "SOFTWARE\\Projekt\\Client"); reg.SetStringValue("","Project-data"); - reg.Create(HKEY_CLASSES_ROOT, "Project"); - reg.SetStringValue("IP",Ip); - reg.Create(HKEY_CLASSES_ROOT, "Project"); - reg.SetStringValue("Port",Port); + reg.Create(HKEY_LOCAL_MACHINE, "SOFTWARE\\Projekt\\Client"); + reg.SetStringValue("IP",strIp); + reg.Create(HKEY_LOCAL_MACHINE, "SOFTWARE\\Projekt\\Client"); + reg.SetStringValue("Port",strPort); reg.Close(); } + +void ClientSocket::OnConnect(int nErrorCode) +{ + // TODO: Add your specialized code here and/or call the base class + strPort.Format("%d",Portuint); + sockClient.Connect(strIp,Portuint); + + CSocket::OnConnect(nErrorCode); +} +void Start() +{ + +} +void CClientDlg::OnBnClickedConnect() +{ + Start(); +}