nothing but lonely.
 

Windows Socket编程(续)


 1 //Client.cpp
 2 #include <iostream>
 3 #include <Windows.h>
 4 
 5 using namespace std;
 6 
 7 #define  PORT 4000
 8 #define  IP_ADDRESS "192.168.1.145"
 9 
10 
11 int main(int argc, char* argv[])
12 {
13     WSADATA  Ws;
14     SOCKET CientSocket;
15     struct sockaddr_in ServerAddr;
16     int Ret = 0;
17     int AddrLen = 0;
18     HANDLE hThread = NULL;
19     char SendBuffer[MAX_PATH];
20 
21     //Init Windows Socket
22     if ( WSAStartup(MAKEWORD(2,2), &Ws) != 0 )
23     {
24         cout<<"Init Windows Socket Failed::"<<GetLastError()<<endl;
25         return -1;
26     }
27 
28     //Create Socket
29     CientSocket = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
30     if ( CientSocket == INVALID_SOCKET )
31     {
32         cout<<"Create Socket Failed::"<<GetLastError()<<endl;
33         return -1;
34     }
35 
36     ServerAddr.sin_family = AF_INET;
37     ServerAddr.sin_addr.s_addr = inet_addr(IP_ADDRESS);
38     ServerAddr.sin_port = htons(PORT);
39     memset(ServerAddr.sin_zero, 0x00, 8);
40 
41     Ret = connect(CientSocket,(struct sockaddr*)&ServerAddr, sizeof(ServerAddr));
42     if ( Ret == SOCKET_ERROR )
43     {
44         cout<<"Connect Error::"<<GetLastError()<<endl;
45         return -1;
46     }
47     else
48     {
49         cout<<"连接成功!"<<endl;
50     }
51 
52     while ( true )
53     {
54         cin.getline(SendBuffer, sizeof(SendBuffer));
55         Ret = send(CientSocket, SendBuffer, (int)strlen(SendBuffer), 0);
56         if ( Ret == SOCKET_ERROR )
57         {
58             cout<<"Send Info Error::"<<GetLastError()<<endl;
59             break;
60         }
61     }
62     
63     closesocket(CientSocket);
64     WSACleanup();
65 
66     return 0;
67 }


visual studio 2003中怎样添加lib引用

方法1:

要具有lib文件和.h文件

1.加入语句 #pragma comment(lib, "C:\\test\\Debug\\test.lib"

2.项目右键-〉属性-〉c++ -〉常规-〉附加包含目录-〉填入test.h文件的文件夹 ../../include

 

方法2:

这种方法可能移植的时候更方便一些

1.项目右键-〉属性-〉链接器 ->常规->附加库目录填入lib所在的文件夹./lib/debug

 项目右键-〉属性-〉链接器 ->输入->附加依赖项填入lib文件的名称.

2.项目右键-〉属性-〉c++ -〉常规-〉附加包含目录-〉填入test.h文件的文件夹 ../../include

 

NOTE:

注意如果.h文件在include的某个文件夹下,使用时一定要在#include 的时候引入路径,如#include"Utility\Process.h"

如果引入后出现LNK 2005错误,需要在连接器命令行加入/force

2011-03-31 /
标签: 技术
 
评论
© 寂寞巷|Powered by LOFTER