`

windows socket demo

阅读更多
我以一种商店对外提供服务的模式,来写出这个Demo。

服务:dmServer.cpp
#include <iostream>
#include <winsock2.h>
using namespace std;

int main(int argc, char *argv[])
{
    WSADATA wsd;
    WSAStartup(MAKEWORD(2, 2), &wsd);


    //  申请店面,负责对外的接头
    int sock = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP); 


    //  店面地址
    string host = "127.0.0.1";
    int port = 8001;
    struct sockaddr_in addr;
    addr.sin_family = AF_INET;
    addr.sin_addr.s_addr = inet_addr(host.c_str());
    addr.sin_port = htons(port);


    //  注册本店
    bind(sock, (struct sockaddr *)(&addr), sizeof(addr));


    //  最大服务数量
    listen(sock, 5);


    //  等待客人中,交给小弟处理
    int workSock = accept(sock, NULL, NULL);


    //  小弟干活
    char buf[1000] = {0};
    memset( buf, 0, sizeof(buf));
    int length = recv(workSock, buf, sizeof(buf), 0);
    cout << buf << endl;


    //  结束服务
    closesocket(workSock);
    closesocket(sock);
    WSACleanup();

    return 0;
}



客户:dmClient.cpp
#include <iostream>
#include <winsock2.h>
using namespace std;

int main(int argc, char *argv[])
{
    WSADATA wsd;
    WSAStartup(MAKEWORD(2, 2), &wsd);

    //  我方接头人
    int sock = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);

    //  提供服务的商店地址
    string host = "127.0.0.1";
    int port = 8001;
    struct sockaddr_in addr;
    addr.sin_family = AF_INET;
    addr.sin_addr.s_addr = inet_addr(host.c_str());
    addr.sin_port = htons(port);


    //  打电话给对方
    connect(sock, (struct sockaddr *)(&addr), sizeof(addr));

    //  拨通后,聊天好不好。。
    string say = "我要那种服务...";
    send(sock, say.c_str(), say.length(), 0);


    //  对话完成
    closesocket(sock); 
    WSACleanup();

    return 0;
}

分享到:
评论

相关推荐

    win-socket-demo_socket编程_socket_windows_DEMO_

    标题“win-socket-demo_socket编程_socket_windows_DEMO_”指的是一个Windows平台上的Socket编程示例项目,主要涉及网络通信的基础知识,尤其是如何在Windows环境下使用Socket API进行客户端和服务器端的交互。...

    SocketDemo.zip

    SocketDemo.zip是一个包含简单Socket通信示例的压缩包,它演示了如何在C#环境中实现客户端和服务端之间的双向通信。这个示例可能包含了Winform界面,利用线程(Thread)进行异步处理,并使用委托(Delegate)来处理事件...

    运行在window电脑上socket服务器demo

    在这个"运行在Window电脑上socket服务器demo"中,我们将探讨如何在Windows环境下搭建和使用Socket服务器。 首先,我们需要理解Socket的基本概念。Socket是网络通信中的一个端点,可以看作是两台计算机之间的通信...

    C#SocketDemo.zip

    通过对这个C#SocketDemo项目的学习,你可以了解如何使用C#进行Socket编程,实现基本的网络通信功能,同时掌握如何将这些网络功能集成到Windows桌面应用中。这是一个很好的起点,帮助开发者进一步探索网络编程的深度...

    TCP_Socket.zip_SocketDemo.exe_TCP-IP--Socket_TCP_Socket_socket T

    本文将深入探讨TCP_Socket.zip中的SocketDemo.exe及其相关的TCP/IP Socket编程知识。 TCP(Transmission Control Protocol)是一种面向连接的、可靠的、基于字节流的传输层通信协议,它确保数据包在网络中按顺序...

    跨平台socket demo

    在网络上找了很久都没找到自己需要的资源,经过十数天的折腾终于弄出来了,分享给大家。 windows xp下使用apache.mina2框架搭建...demo里包含windows下socket服务器、客户端工程以及mac os下客户端的工程,绝对超值!

    HPSocket C++控制台版DEMO.rar

    一个开源的高性能IOCP(完成端口)网络通信封装框架《HP-Socket》的使用实例,官方的DEMO只有MFC对话框的版本,对于刚接触这个框架的新手不太容易把代码移植到自己的项目。 此DEMO使用标准C++控制台来实现,对于刚...

    windows socket IOCP讲解和代码.rar

    Windows Socket IOCP(I/O Completion Port)是一种高效率的异步I/O模型,它在Windows操作系统中被广泛用于网络编程,特别是在需要处理大量并发连接和数据传输的高性能服务器应用程序中。IOCP允许开发者以非阻塞的...

    socket demo.zip

    本文将深入探讨“c# socket demo”所涉及的知识点,并以压缩包中的"Socket_Client"和"SockWPF"为例,阐述如何在C#中实现Socket通信。 首先,Socket是操作系统提供的一个接口,用于实现网络上的进程间通信(IPC)。...

    一个使用C++的HPSocket完整的demo,Tcp/Udp协议可转换

    【标题】:“一个使用C++的HPSocket完整的demo,Tcp/Udp协议可转换” 【描述】中的这个项目提供了一个基于C++的HPSocket库的示例应用,该库支持TCP和UDP两种网络通信协议。这个demo是完全可运行的,并且设计得相当...

    windows C++ socket库 外国人写的 带demo

    在Windows平台上进行网络编程时,C++ Socket库是不可或缺的一部分,它允许程序通过TCP/IP协议进行数据通信。本文将深入探讨由外国人编写的这个特定的C++ Socket库,并结合提供的"Socket.cpp-master"代码示例,讲解其...

    VS2015-MFC-SOCKET DEMO亲测

    "VS2015-MFC-SOCKET DEMO亲测"是一个示例项目,旨在展示如何在MFC环境中创建一个简单的Socket应用程序。通过这个DEMO,我们可以学习到如何配置环境、创建Socket对象、连接到服务器以及进行数据交换。 首先,让我们...

    SuperSocket测试Demo

    4. **跨平台**:SuperSocket基于.NET Framework,但也可以通过.NET Core实现跨平台运行,支持Windows、Linux、Mac OS等操作系统。 5. **丰富的示例和文档**:官方提供了详细的文档和示例代码,方便开发者学习和参考...

    Linux window下C开发socket通讯demo

    这个"Linux window下C开发socket通讯demo"旨在为初学者提供一个简化的示例,演示如何在Linux和Windows操作系统上使用C语言进行socket编程。下面将详细解释相关知识点。 1. **Socket概念**: Socket是进程间通信...

    C# Socket 通讯demo

    在实际的`SocketDemo`项目中,你可以期待看到以下关键部分: 1. **客户端代码**:创建Socket实例,设置连接参数(IP地址和端口),然后调用Connect方法。之后,可能有一个发送数据的函数,将用户输入转换为字节流并...

    老外用C# 写的一个通过socket的demo

    7. **解决方案结构**:`SocketDemo.sln`文件是Visual Studio的解决方案文件,其中包含了项目的所有信息。`SocketDemo`可能是项目的主程序文件,可能包含客户端和服务器端的逻辑代码。 8. **多线程**:为了处理并发...

    vc++socket 通讯demo

    1. **加载套接字库(WSAStartup)**:调用WSAStartup初始化Windows Socket接口,传递所需版本号。 2. **创建套接字(socket)**:使用socket函数创建一个Socket对象,指定协议族(AF_INET)和套接字类型(SOCK_...

    Socket 通讯 Demo

    Socket通讯Demo是一个基于TCP协议的Winform应用实例,主要用于演示如何在Windows环境下使用Socket进行网络通信。Socket在计算机网络中扮演着重要的角色,它是不同网络应用程序之间建立连接和传输数据的基础。TCP...

    socket传输文件例子demo

    Winsock是Windows版本的Socket接口,它提供了与Berkeley Sockets兼容的API。要使用Winsock,我们需要先调用`WSAStartup`函数初始化Winsock库,并在程序结束时调用`WSACleanup`进行清理。 接下来,我们将涉及的主要...

    socket_api.rar_DEMO_socket_socket封装

    "socket_api.rar_DEMO_socket_socket封装"这个资源提供了一个关于如何封装socket的示例,以简化socket编程过程。下面将详细讲解socket的基本概念、封装的必要性以及压缩包中包含的文件及其作用。 首先,socket是...

Global site tag (gtag.js) - Google Analytics