fork download
  1. // Client.cpp : Defines the entry point for the console application.
  2. //
  3. #include <iostream>
  4. #include <string>
  5. using namespace std;
  6. #include "winsock2.h"
  7. #pragma comment(lib, "ws2_32.lib")
  8.  
  9. #define BUF_SIZE 64
  10.  
  11.  
  12. int main(int argc, char* argv[])
  13. {
  14.  
  15. WSADATA wsd; //WSADATA變量
  16. SOCKET sHost; //服務器Socket
  17. SOCKADDR_IN servAddr; //服務器地址
  18. char buf[BUF_SIZE]; //接收數據緩衝區
  19. int retVal; //返回值
  20. char str[64];
  21. char IP_char[17];
  22.  
  23. cout << "please key in IP:";
  24. cin >> IP_char;
  25. cout << "\n"; //換行
  26.  
  27. //初始化Socket動態庫
  28. if (WSAStartup(MAKEWORD(2,2), &wsd) != 0) {
  29. cout << "WSAStartup failed!\n";
  30. return -1;
  31. }
  32.  
  33. //創建Socket
  34. sHost = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
  35. if(INVALID_SOCKET == sHost) {
  36. cout << "socket failed!\n";
  37. WSACleanup();//釋放Socket資源
  38. return -1;
  39. }
  40. ;
  41.  
  42. //設置服務器地址
  43. servAddr.sin_family =AF_INET;
  44. servAddr.sin_addr.s_addr = inet_addr(IP_char);
  45. servAddr.sin_port = htons((short)4999);
  46. int nServAddlen = sizeof(servAddr);
  47.  
  48. //連接服務器
  49. retVal=connect(sHost,(LPSOCKADDR)&servAddr, sizeof(servAddr));
  50. if(SOCKET_ERROR == retVal) {
  51. cout << "connect failed!\n";
  52. closesocket(sHost); //關閉Socket
  53. WSACleanup(); //釋放Socket資源
  54. system("pause");
  55. return -1;
  56. }
  57.  
  58. //cout << "you are connecting " << IP_char << " \n";
  59.  
  60. while(1) {
  61. ZeroMemory(str, BUF_SIZE);
  62. cout << "you key in :";
  63. cin.getline(str, BUF_SIZE);
  64. //向服務器發送數據
  65. ZeroMemory(buf, BUF_SIZE);
  66. strcpy_s(buf, str);
  67. retVal = send(sHost, buf, strlen(buf), 0);
  68.  
  69. if (SOCKET_ERROR == retVal) {
  70. cout << "send failed!\n";
  71. closesocket(sHost); //關閉Socket
  72. WSACleanup(); //釋放Socket資源
  73. system("pause");
  74. return -1;
  75. }
  76. cout <<"server echo : ";
  77. retVal = recv(sHost, buf, BUF_SIZE, 0);
  78. cout << buf << endl; //輸出由Server端傳送的字串
  79. if (!strcmp(buf,"bye")) break;
  80. }
  81.  
  82.  
  83. //退出
  84. closesocket(sHost); //關閉Socket
  85. WSACleanup(); //釋放Socket資源
  86.  
  87. system("pause");
  88. return 0;
  89.  
  90. }
  91.  
Compilation error #stdin compilation error #stdout 0s 0KB
stdin
Standard input is empty
compilation info
prog.cpp:6:22: fatal error: winsock2.h: No such file or directory
compilation terminated.
stdout
Standard output is empty