// client.cpp : 定義控制臺(tái)應(yīng)用程序的入口點(diǎn)。//#include "stdafx.h"#include "client.h"#ifdef _DEBUG#define new DEBUG_NEW#endif#include"Winsock2.h"#include"stdio.h"#include"stdlib.h"#include"stdafx.h"#define DEFAULT_PORT 5050 //服務(wù)器端口號(hào)為5050#define DATA_BUFFER 1024// 唯一的應(yīng)用程序?qū)ο驝WinApp theApp;using namespace std;int _tmain(int argc, TCHAR* argv[], TCHAR* envp[]){int nRetCode = 0;// 初始化 MFC 并在失敗時(shí)顯示錯(cuò)誤if (!AfxWinInit(::GetModuleHandle(NULL), NULL, ::GetCommandLine(), 0)){// TODO: 更改錯(cuò)誤代碼以符合您的需要_tprintf(_T("錯(cuò)誤: MFC 初始化失敗\n"));nRetCode = 1;}else{// TODO: 在此處為應(yīng)用程序的行為編寫代碼。}return nRetCode;}void main(int argc,char *argv[]){WSADATA wsaData;SOCKET sClient;int iPort=DEFAULT_PORT;int iLen; //從服務(wù)器接受的數(shù)據(jù)長(zhǎng)度char buf[DATA_BUFFER];struct sockaddr_in ser; //判斷輸入是否正確if(argc<2){printf("Usage:client[server IP address]\n"); //提示在命令中輸入服務(wù)器IP地址return;}//接收數(shù)據(jù)的緩沖初始化memset(buf,0,sizeof(buf));if(WSAStartup(MAKEWORD(2,2),&wsaData)!=0){printf("Failed to load Winsock.\n");return;}//填寫要連接的服務(wù)器地址信息ser.sin_family=AF_INET; ser.sin_port=htons(iPort);ser.sin_addr.s_addr=inet_addr(argv[1]); //inet_addr()函數(shù)將命令行的點(diǎn)分IP地址轉(zhuǎn)化為用二進(jìn)制表示的網(wǎng)絡(luò)字節(jié)順序的IP地址//建立客戶端流式套接口sClient=socket(AF_INET,SOCK_STREAM,0);if(sClient==INVALID_SOCKET){printf("socket()Failed:%d\n",WSAGetLastError());return;}//請(qǐng)求與服務(wù)器端建立TCP連接if(connect(sClient,(struct sockaddr*)&ser,sizeof(ser))==INVALID_SOCKET){printf("connect()Failed:%d\n",WSAGetLastError());return;}else{//從服務(wù)器端接受數(shù)據(jù)iLen=recv(sClient,buf,sizeof(buf),0);if(iLen==0)return;else if(iLen==SOCKET_ERROR){printf("rev()Failed:%d\n",WSAGetLastError());return;}printf("recv()data from server:%s\n",buf);}closesocket(sClient);WSACleanup();}C++控制臺(tái)程序Win32 Console Application是基于TCP的通信程序(客戶端)
1 回答

qq_笑_17
TA貢獻(xiàn)1818條經(jīng)驗(yàn) 獲得超7個(gè)贊
你的函數(shù)都是void的 然后是一直return return
所以看不到啊 你在main的后面加上 int i;cin>>i; 試一下
- 1 回答
- 0 關(guān)注
- 106 瀏覽
添加回答
舉報(bào)
0/150
提交
取消