`
hcmfys
  • 浏览: 357827 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

c++ socket test

阅读更多
#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编程是网络通信的基础,用于创建客户端和服务器端的连接。本话题主要探讨的是在C++ Socket编程中的阻塞...通过深入理解和实践`TestServer`和`TestClient`,你可以进一步提升对C++ Socket编程的理解。

    c++实现Socket服务器和客户端功能

    在`SocketTest`项目中,可能包含了服务器端和客户端的源代码文件,如`Server.cpp`和`Client.cpp`,分别实现了上述逻辑。在VS2008中编译运行这些文件,可以在同一网络环境中测试服务器和客户端之间的通信。 需要注意...

    SocketTest

    SocketTest 是一个基于C++语言并利用Windows API开发的Socket通信测试程序,它包含了客户端和服务器端两个部分,用于实现网络上的双向通信。Socket在计算机网络编程中扮演着基础角色,是不同计算机间进行数据传输的...

    socketTest.rar

    《C++ Socket编程详解——基于"socketTest.rar"实例》 在计算机网络中,Socket(套接字)是实现进程间通信的一种重要机制,尤其在客户端-服务器模式中,其地位不可替代。本文将深入探讨C++中的Socket编程,并以...

    c++ socket 编程

    `SocketTest`和`SocketClientTest`这两个文件可能是示例代码,你可以参考它们来更好地理解和实践这个过程。通过不断实践和学习,你将能够掌握C++ Socket编程的精髓,为构建高效、可靠的网络应用打下坚实的基础。

    SocketTest 通信工具

    SocketTest 是一款基于Socket协议的通信工具,主要应用于网络编程中的客户端和服务端之间的交互测试。Socket,也称为套接字,是计算机网络中进程间通信的一种机制,它提供了进程在网络中进行数据交换的接口。在Java...

    http_test.zip_SOCKET用户_c++socket4代理_代理_代理 socket_代理验证

    `c++socket4代理`指的是使用SOCKET API来实现对HTTP协议的代理支持,其中“4”可能指的是HTTP/1.0版本,尽管现代HTTP已经发展到HTTP/1.1及以上版本。为了通过代理服务器发送HTTP请求,我们需要构造一个带有代理信息...

    socket_test.zip_SOCKET VS2008_sever_socket_socket test_socket 发送

    本文将深入探讨在Visual Studio 2008环境下如何利用C++进行Socket通信,特别是客户端和服务器端的交互。 首先,"socket_test.zip"是一个包含Socket通信示例的压缩文件,适合在VS2008环境中运行。它提供了"socket_...

    test_socket.rar_C++_RTP 转发_socket_socket test_数据转发

    9. **测试**:`test_socket.cpp`文件很可能是实现上述功能的源代码。在实际项目中,我们需要编写测试用例来验证数据的正确接收和转发,确保协议头的完整性,以及在各种网络条件下的稳定性。 10. **调试技巧**:使用...

    C++与android通过socket通信

    用VC6.0直接打开C++ Server,用eclipse直接打开android socketTest。注意修改一下安卓代码中的IP地址。程序中java和C++的通信的内容使用了:http://download.csdn.net/detail/nuptboyzhb/4595415中的内容,在此感谢...

    java c++ 通信之间的乱码解决方法

    Java和C++之间进行Socket通信时,可能会遇到乱码问题,主要是由于编码格式不一致导致的。Java默认使用UTF-8编码,而C++在Windows XP环境下可能使用GBK编码。解决这个问题的关键在于确保数据在传输过程中保持正确的...

    Http-test.rar_HTTP_HTTP协议_c++ socket http get_http post get_sock

    3. **C++ Socket编程**:在C++中,你可以使用`&lt;sys/socket.h&gt;`和`&lt;netinet/in.h&gt;`等库进行socket编程。首先,创建一个socket,然后使用`connect()`函数连接到指定的服务器和端口。接着,使用`send()`发送HTTP请求,`...

    socket_test.rar

    首先,我们需要创建一个QT项目,这里名为"socket_test"。在QT Creator中,选择"新建项目",然后选择"Qt Widgets Application"模板,填写项目名称和位置,确保选中"Add Qt to project file"选项,以便自动添加所需的...

    一个windows开源socket 库

    在提供的文件名"socketTest"中,我们可以推断这是一个测试程序或者示例代码,用于演示如何使用这个开源库进行Socket通信。通常,这样的测试代码会包含客户端和服务器端的示例,展示如何建立连接、交换数据以及关闭...

    C++ IPV6 SOCKET通信实例

    在Socket_test这个文件中,可能包含了实现上述过程的代码示例,可以用来学习和理解C++中的IPV4和IPV6 SOCKET通信。通过分析这些示例,你可以深入理解网络编程的基本概念,以及如何在实际项目中应用它们。 总的来说...

    C++ 实现基础SOCKET有例子(局域网聊天)

    在提供的"SocketTest"文件中,可能包含了实现以上功能的示例代码。通过对这些代码的阅读和学习,你可以更好地理解C++如何使用SOCKET实现局域网聊天应用。在实践中,可以逐步添加更多功能,如用户名验证、文件传输、...

    C++_ Socket_P2P联机对话服务端与客户端源码連線

    在压缩包中的"Socket_7.1_test"文件可能包含了上述概念的实际示例代码。这些源码通常会包含服务端和客户端的主程序,它们分别负责启动监听和发起连接。通过分析和运行这些示例,开发者可以更好地理解和掌握C++中的...

    MFC socket Dialog Test

    MFC是微软提供的一套C++库,它为Windows应用程序开发提供了面向对象的抽象,而Socket则是一种网络通信机制,用于在不同计算机之间交换数据。 标题"MFC socket Dialog Test"表明我们将在MFC的对话框应用程序中实现...

    linux和windows之间的socket通信代码

    socket_test.c文件放到linux环境下,用gcc进行编译,运行。 socket_test文件夹用VC++6.0打开运行,就可以实现windows和 linux间简单的通讯,能够进行字符的收发。

    test_SocketServer.rar_socket server_socket_test_socketserver_win

    而`test_SocketServer`可能是一个源代码文件,包含实现Socket服务器的具体代码,可能使用C++、C#或Python等语言编写。通过分析和运行这个代码,开发者可以学习如何在Windows环境中创建和管理Socket服务器,理解网络...

Global site tag (gtag.js) - Google Analytics