www.pudn.com > SDK 工具条,分割条,TREE 等控件演示代码.rar > scoketclient.cpp
#include#include "scoketclient.h" extern hwnd; WSADATA WsaData; SOCKET sock; struct sockaddr_in serv_addr; char Buffers[1024]; char ip[32]; BOOL SendUser_Lg(SOCKET sock,char Sendline[MAXLINE],HWND hWnd) { int n; int nleft; int nwritten; char *Temp; n=strlen(Sendline); Sendline[n++]='\n'; Sendline[n]='\0'; n=strlen(Sendline); Temp=Sendline; nleft = n; while (nleft > 0) { nwritten = send(sock, Temp, n, 0 ); if (nwritten == SOCKET_ERROR) { Displays(hWnd, "信息发送失败-由于服务器程序已重启,请重新启动登陆程序."); return 0; } nleft -= nwritten; Temp += nwritten; } if(!nleft) return 1; return 0; } BOOL NetLink(HWND hWnd,char * IP) { int err; err = WSAStartup(0x0101, &WsaData); if (err == SOCKET_ERROR) { Displays(hWnd,"WSAStartup Failed"); return 0; } Displays(hWnd,"正在初始化网络..........."); memset(&serv_addr, 0, sizeof(serv_addr)); serv_addr.sin_family = AF_INET; // 使用这个逻辑服务器 serv_addr.sin_addr.s_addr = inet_addr(IP); serv_addr.sin_port = htons(SERVER_TCP_PORT); sock = socket(AF_INET, SOCK_STREAM, 0); if (sock < 0) { Displays(hWnd,"socket() 错误 -- 检查你的TCP/IP是否正确安装?"); return 0; } if(connect(sock, (struct sockaddr *) &serv_addr,sizeof(serv_addr)) < 0) { Displays(hWnd,"connect() 错误 -- 检查服务器程序是否运行?"); return 0; } //sprintf(Buffers,"已经与 %s 正确连接.",IP); /* MessageBox( hWnd, "HELLO:\r\n 已连接哈尔滨服务器!!!", "Barsdi", MB_OK | MB_ICONEXCLAMATION);*/ Displays(hWnd,"已经连接上哈尔滨服务器!!!!!"); return 1; } void Displays(HWND hWnd,char *P) { RECT rect ; GetWindowRect(GetDesktopWindow(),&rect); static char OutText[5][128]; HDC hdc; int i; for(i=0;i<5;i++) { if(OutText[i]==NULL) { strcpy(OutText[i],P); break; } } if(i>=5) { for(i=1;i<5;i++) strcpy(OutText[i-1],OutText[i]); strcpy(OutText[i-1],P); } InvalidateRect(hWnd,NULL,TRUE); UpdateWindow(hWnd); hdc=GetDC(hWnd); for(i=0;i<5;i++) { if(OutText[i]==NULL) break; TextOut(hdc,(rect.right-rect.left)/2-100, 150, //(rect.bottom-rect.top)/2+15+20*i, OutText[i],strlen(OutText[i])); } ReleaseDC(hWnd,hdc); } /* BOOL NetLink(HWND hWnd,char * IP) { MessageBox( hWnd, "HELLO:\r\n 哈尔滨服务器ssss!", "Barsdi", MB_OK | MB_ICONEXCLAMATION); return 1; } */ int RecvUser_Lg(SOCKET sock,char * readline,int maxlen,HWND hWnd) { int n; int rc; char c; for (n=1; n