#include <winsock2.h>
#include<iostream>
#include<string>
using namespace std;
#pragma comment(lib,"ws2_32.lib")
string getCommand(SOCKET s)
{
string str;
char buffer[20];
while (1)
{
int len= recv(s,buffer,20,0);
if (len>0)
{
str+=buffer;
if (buffer[len-1]=='\n' || buffer[len-1]=='\r')
{
break;
}
}
}
return str;
}
void parseCommand(SOCKET s,string cmd)
{
if (cmd.substr(0,4)=="user")
{
send(s,"ok",4,0);
}
}
int main()
{
WSADATA ws;
SOCKET s;
bool isLogin=false;
// 接受连接
SOCKET conSocket;
int ret= WSAStartup(MAKEWORD(2,2),&ws);
if (ret!=NO_ERROR)
{
cout<<"error to load scoket"<<endl;
return -1;
}
s=socket(AF_INET,SOCK_STREAM,IPPROTO_TCP);
sockaddr_in service;
service.sin_port=htons(1234);
service.sin_addr.s_addr=inet_addr("127.0.0.1");
service.sin_family=AF_INET;
bind(s,(SOCKADDR*)&service,sizeof(service));
listen(s,10);
cout<<"--------------------\n";
cout<<"welcome to ftp server\n";
cout<<"--------------------\n";
while (1)
{
conSocket=accept(s,NULL,NULL);
char *buffer="欢迎光临FTP站点!\0";
string str;
if (conSocket)
{
send(conSocket,buffer,strlen(buffer)*sizeof(char),MSG_DONTROUTE);
}
str=getCommand(conSocket);
cout<<str;
parseCommand(conSocket,str);
}
closesocket(s);
WSACleanup();
}
分享到:
相关推荐
在C++中,Socket编程是网络通信的基础,用于创建客户端和服务器端的连接。本话题主要探讨的是在C++ Socket编程中的阻塞...通过深入理解和实践`TestServer`和`TestClient`,你可以进一步提升对C++ Socket编程的理解。
在`SocketTest`项目中,可能包含了服务器端和客户端的源代码文件,如`Server.cpp`和`Client.cpp`,分别实现了上述逻辑。在VS2008中编译运行这些文件,可以在同一网络环境中测试服务器和客户端之间的通信。 需要注意...
SocketTest 是一个基于C++语言并利用Windows API开发的Socket通信测试程序,它包含了客户端和服务器端两个部分,用于实现网络上的双向通信。Socket在计算机网络编程中扮演着基础角色,是不同计算机间进行数据传输的...
《C++ Socket编程详解——基于"socketTest.rar"实例》 在计算机网络中,Socket(套接字)是实现进程间通信的一种重要机制,尤其在客户端-服务器模式中,其地位不可替代。本文将深入探讨C++中的Socket编程,并以...
`SocketTest`和`SocketClientTest`这两个文件可能是示例代码,你可以参考它们来更好地理解和实践这个过程。通过不断实践和学习,你将能够掌握C++ Socket编程的精髓,为构建高效、可靠的网络应用打下坚实的基础。
SocketTest 是一款基于Socket协议的通信工具,主要应用于网络编程中的客户端和服务端之间的交互测试。Socket,也称为套接字,是计算机网络中进程间通信的一种机制,它提供了进程在网络中进行数据交换的接口。在Java...
`c++socket4代理`指的是使用SOCKET API来实现对HTTP协议的代理支持,其中“4”可能指的是HTTP/1.0版本,尽管现代HTTP已经发展到HTTP/1.1及以上版本。为了通过代理服务器发送HTTP请求,我们需要构造一个带有代理信息...
本文将深入探讨在Visual Studio 2008环境下如何利用C++进行Socket通信,特别是客户端和服务器端的交互。 首先,"socket_test.zip"是一个包含Socket通信示例的压缩文件,适合在VS2008环境中运行。它提供了"socket_...
9. **测试**:`test_socket.cpp`文件很可能是实现上述功能的源代码。在实际项目中,我们需要编写测试用例来验证数据的正确接收和转发,确保协议头的完整性,以及在各种网络条件下的稳定性。 10. **调试技巧**:使用...
用VC6.0直接打开C++ Server,用eclipse直接打开android socketTest。注意修改一下安卓代码中的IP地址。程序中java和C++的通信的内容使用了:http://download.csdn.net/detail/nuptboyzhb/4595415中的内容,在此感谢...
Java和C++之间进行Socket通信时,可能会遇到乱码问题,主要是由于编码格式不一致导致的。Java默认使用UTF-8编码,而C++在Windows XP环境下可能使用GBK编码。解决这个问题的关键在于确保数据在传输过程中保持正确的...
3. **C++ Socket编程**:在C++中,你可以使用`<sys/socket.h>`和`<netinet/in.h>`等库进行socket编程。首先,创建一个socket,然后使用`connect()`函数连接到指定的服务器和端口。接着,使用`send()`发送HTTP请求,`...
首先,我们需要创建一个QT项目,这里名为"socket_test"。在QT Creator中,选择"新建项目",然后选择"Qt Widgets Application"模板,填写项目名称和位置,确保选中"Add Qt to project file"选项,以便自动添加所需的...
在提供的文件名"socketTest"中,我们可以推断这是一个测试程序或者示例代码,用于演示如何使用这个开源库进行Socket通信。通常,这样的测试代码会包含客户端和服务器端的示例,展示如何建立连接、交换数据以及关闭...
在Socket_test这个文件中,可能包含了实现上述过程的代码示例,可以用来学习和理解C++中的IPV4和IPV6 SOCKET通信。通过分析这些示例,你可以深入理解网络编程的基本概念,以及如何在实际项目中应用它们。 总的来说...
在提供的"SocketTest"文件中,可能包含了实现以上功能的示例代码。通过对这些代码的阅读和学习,你可以更好地理解C++如何使用SOCKET实现局域网聊天应用。在实践中,可以逐步添加更多功能,如用户名验证、文件传输、...
在压缩包中的"Socket_7.1_test"文件可能包含了上述概念的实际示例代码。这些源码通常会包含服务端和客户端的主程序,它们分别负责启动监听和发起连接。通过分析和运行这些示例,开发者可以更好地理解和掌握C++中的...
MFC是微软提供的一套C++库,它为Windows应用程序开发提供了面向对象的抽象,而Socket则是一种网络通信机制,用于在不同计算机之间交换数据。 标题"MFC socket Dialog Test"表明我们将在MFC的对话框应用程序中实现...
socket_test.c文件放到linux环境下,用gcc进行编译,运行。 socket_test文件夹用VC++6.0打开运行,就可以实现windows和 linux间简单的通讯,能够进行字符的收发。
而`test_SocketServer`可能是一个源代码文件,包含实现Socket服务器的具体代码,可能使用C++、C#或Python等语言编写。通过分析和运行这个代码,开发者可以学习如何在Windows环境中创建和管理Socket服务器,理解网络...