windows socket 简单的服务端和客户端代码

客户端代码

//socket简单的客户端代码
#define WIN32_LEAN_AND_MEAN
#define _CRT_SECURE_NO_WARNINGS
#define _WINSOCK_DEPRECATED_NO_WARNINGS

#include <stdio.h>
#include <string.h>
#include <Windows.h>

#include <WinSock2.h>
#pragma comment(lib, "ws2_32.lib")

int main(int argc, char *argv[]) {

    WSADATA wd;
    WSAStartup(MAKEWORD(2, 2), &wd);

    //创建客户端套接字
    SOCKET sktCli = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);

    sockaddr_in addrSer = {0};
    addrSer.sin_family = AF_INET;//要接的服务器的IPV4协议
    addrSer.sin_port = htons(8080);//要连接的服务器的端口
    addrSer.sin_addr.s_addr = inet_addr("127.0.0.1");//要连接的服务器的IP
    //连接服务器
    connect(sktCli, (sockaddr *)&addrSer, sizeof(addrSer));

    char buf[1024];
    while (true) {
        printf(">>");
        scanf("%s", buf);
        send(sktCli, buf, strlen(buf) + 1, 0);//向服务器发送数据

        recv(sktCli, buf, sizeof(buf), 0);//接受服务器发送的数据
        printf("[server] %s\n", buf);
    }

    WSACleanup();
    return 0;
}

服务端代码

//socket简单的服务器代码
#define WIN32_LEAN_AND_MEAN
#define _CRT_SECURE_NO_WARNINGS
#define _WINSOCK_DEPRECATED_NO_WARNINGS

#include <stdio.h>
#include <string.h>
#include <Windows.h>

#include <WinSock2.h>
#pragma comment(lib, "ws2_32.lib")

int main(int argc, char *argv[]) {

    WSADATA wd;
    WSAStartup(MAKEWORD(2, 2), &wd);

    //创建服务器套接字
    SOCKET sktSer = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);

    sockaddr_in addrSer = { 0 };
    addrSer.sin_family = AF_INET;//服务器的IPV4协议
    addrSer.sin_port = htons(8080);//服务器的端口
    addrSer.sin_addr.s_addr = inet_addr("127.0.0.1");//服务器的IP

    //将套接字和端口、ip绑定
    int i = bind(sktSer, (sockaddr *)&addrSer, sizeof(addrSer));

    //开始监听套接字
    listen(sktSer, 5);

    //接受客户端套接字
    SOCKET sktCli = accept(sktSer, NULL, NULL);
    char buf[1024];
    while (true) {
        recv(sktCli, buf, sizeof(buf), 0);//接受客户端发送的数据
        printf("[client] %s\n", buf);

        send(sktCli, buf, strlen(buf) + 1, 0);//向客户端发送数据
    }

    WSACleanup();
    return 0;
}

原文地址:https://www.cnblogs.com/xuqiulin/p/11405761.html

时间: 2024-10-07 15:13:20

windows socket 简单的服务端和客户端代码的相关文章

C# 编写WCF简单的服务端与客户端

http://www.wxzzz.com/1860.html Windows Communication Foundation(WCF)是由微软开发的一系列支持数据通信的应用程序框架,可以翻译为Windows 通讯开发平台.整合了原有的windows通讯的 .net Remoting,WebService,Socket的机制,并融合有HTTP和FTP的相关技术.是Windows平台上开发分布式应用最佳的实践方式. 今天带如何一步一步实现WCF服务端与客户端的开发及基础讲解. 一.在Visual

mvn构建JAX-WS项目含服务端和客户端代码实现

java中WebService框架有很多,像Axis,XFire,CXF等,除了上述框架外,JDK中自带JAX-WS框架.相比而言,JWS是轻量级的,使用非常简便,可与Spring集成使用. 下面就详述如何通过mvn构建WebService服务端及客户端. 1.引包. 在mvn项目的pom文件中加入依赖包 <dependency> <groupId>com.sun.xml.ws</groupId> <artifactId>jaxws-rt</artif

Socket——服务端与客户端交互的简单实现

服务端: package socket; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.OutputStream; import java.io.PrintWriter; import java.net.ServerSocket; import java.net.Socke

socket编程,简单多线程服务端测试程序

socket编程,简单多线程服务端测试程序 前些天重温了MSDN关于socket编程的WSAStartup.WSACleanup.socket.closesocket.bind.listen.accept.recv.send等函数的介绍,今天写了一个CUI界面的测试程序(依赖MFC)作为补充.程序功能简介如下: 1:一个线程做监听用. 2:监听线程收到客户端连接后,创建新线程接收客户端数据.所有对客户端线程将加入容器,以便管理. 3:服务端打印所有客户端发来的信息. 4:服务端CUI界面输入数字

Unity使用C#实现简单Scoket连接及服务端与客户端通讯

简介: 网络编程是个很有意思的事情,偶然翻出来很久之前刚开始看Socket的时候写的一个实例,贴出来吧 Unity中实现简单的Socket连接,c#中提供了丰富的API,直接上代码. 服务端代码: [csharp] view plain copyThread connectThread;//当前服务端监听子线程 public string address;//当前地址 public int port;//当前本地端口 TcpClient romoteClient;//远程客户端 // Use t

python模拟服务端和客户端通信(简单)

写了一个超级简单的,小白可以看一下,因为自己就是小白白(自学的) 客户端: import socket#指定一个协议tcp/ipclient=socket.socket()#连接一个地址(服务端和端口号)client.connect(('localhost',6969))#发送数据(python默认是byte类型,所以数据前面加b)client.send(b"Hello Word")#把服务端反馈的信息进行接收并赋值,给出一个接收的大小(kb/M)之类的date=client.recv

socket服务端和客户端

#!/usr/bin/env python#encoding: utf-8import socketdef handle_request(client): buf = client.recv(1024) client.send("HTTP/1.1 200 OK\r\n\r\n") client.send("Hello, World") def main(): sock = socket.socket(socket.AF_INET, socket.SOCK_STREA

C# Socket服务端和客户端互相send和receive

服务端 1 using System; 2 using System.Collections.Generic; 3 using System.Text; 4 using System.Net.Sockets; 5 using System.Net; 6 using System.Threading; 7  8 namespace Controller 9 {10     public static class SocketServer11     {12         private stat

Java网络编程【Socket服务端和客户端】

Socket 编程大家都不陌生,Java 学习中必学的部分,也是 Java网络编程核心内容之一.Java 网络编程又包括 TCP.UDP,URL 等模块.TCP 对应 Socket模块,UDP 对应 DatagramPacket 模块.URL 对应 URL 模块.其中 TCP 和 UDP 是网络传输协议,TCP 是数据流传输协议,UDP 是数据包传输协议.两者之间的异同就不在这里说了,推荐一本入门书籍 <TCPIP入门经典>.我们开始 Socket 服务端和客户端编程吧. 一.Socket 服