• 课程设计
  • 若编译不通过,就百度所出现的错误,然后修改编辑器设置便可
  • socket编程时,使用codeblocks需要加载libws2_32.a

服务器端代码

#include <iostream>
#include <stdio.h>
#include <winsock2.h>
#include <WS2tcpip.h>
#pragma comment(lib,"ws2_32.lib")using namespace std;int main()
{//初始化WSADATA wsaDate;WORD version=MAKEWORD(2,2);WSAStartup(version,&wsaDate);//创建套接字SOCKET slisten=socket(AF_INET,SOCK_STREAM,IPPROTO_TCP);//绑定IP和端口sockaddr_in local;local.sin_family=AF_INET;local.sin_port=htons(8888);local.sin_addr.S_un.S_addr=INADDR_ANY;bind(slisten,(struct sockaddr *)&local,sizeof(sockaddr_in));//开始监听listen(slisten,3);//数据处理SOCKET sclient;sockaddr_in client;int addrsize=sizeof(client);char revData[255];cout<<" 等待连接..."<<endl;sclient=accept(slisten,(struct sockaddr *)&client,&addrsize);cout<<" 接收到一个连接:"<<inet_ntoa(client.sin_addr)<<endl;int ret;while (true){//接收数据ret = recv(sclient, revData, 255, 0);revData[ret] = '\0';cout<<" ["<<inet_ntoa(client.sin_addr)<<"]:"<<revData<<endl;//发送数据const char * sendData = " TCP服务端已接收数据!";send(sclient, sendData, strlen(sendData), 0);}closesocket(slisten);WSACleanup();return 0;
}

客户端代码

#include <iostream>
#include <stdio.h>
#include <winsock2.h>
#include <WS2tcpip.h>
#include <string>
#pragma comment(lib,"ws2_32.lib")
using namespace std;int main()
{//初始化WSADATA wsaData;WORD version=MAKEWORD(2,2);WSAStartup(version,&wsaData);//创建套接字SOCKET sclient;sclient=socket(AF_INET,SOCK_STREAM,IPPROTO_TCP);//绑定IP和端口sockaddr_in server;memset(&server,0,sizeof(sockaddr_in));server.sin_family=PF_INET;server.sin_port=htons(8888);server.sin_addr.S_un.S_addr=inet_addr("127.0.0.1");//连接服务器connect(sclient,(struct sockaddr*)&server,sizeof(sockaddr_in));cout<<" TCP客户端启动!"<<endl;cout<<" 已连接TCP服务端!"<<endl;//发送数据while (TRUE){string data;cout<<" 发送数据:";getline(cin,data);const char * sendData;sendData = data.c_str();send(sclient, sendData, strlen(sendData), 0);char recData[255];int ret = recv(sclient, recData, 255, 0);if(ret>0){recData[ret] = 0x00;cout<<recData<<endl;}}// 释放连接和进行结束工作closesocket(sclient);WSACleanup();return 0;
}

C++实现Socket编程相关推荐

  1. Windows Socket编程笔记之最简单的小Demo

    Windows Socket编程的大致过程: 服务器端: ----过程-------------对应的API-------  0.初始化         |  WSAStartup()  1.创建So ...

  2. Linux下Socket编程

    Linux下Socket编程    网络的Socket数据传输是一种特殊的I/O,Socket也是一种文件描述符.Socket也具有一个类似于打开文件的函数调用Socket(),该函数返回一个整型的S ...

  3. [Python_7] Python Socket 编程

    0. 说明 Python Socket 编程 1. TCP 协议 [TCP Server] 通过 netstat -ano 查看端口是否开启 # -*-coding:utf-8-*-"&qu ...

  4. C# Socket编程(5)使用TCP Socket

    TCP 协议(Transmission Control Protocol,传输控制协议)是TCP/IP体系中面向连接(connection oriented)的传输层(transport layer) ...

  5. 【.Net MF网络开发板研究-04】Socket编程之服务端

    前几篇文章介绍了Http相关的应用,其实从技术角度而言,应该先介绍Socket编程,然后再介绍Http,毕竟Http是用Socket相关函数编程实现的. .NET Micro Framework的So ...

  6. socket编程缓冲区大小对send()的影响

    1. 概述 Socket编程中,使用send()传送数据时,返回结果受到以下几个因素的影响: • Blocking模式或non-blocking模式 • 发送缓冲区的大小 • 接收窗口大小 本文档介绍 ...

  7. 华中科技大学计算机通信与网络实验,华中科技大学计算机通信与网络实验报告Socket编程实验.docx...

    实验一 Socket编程实验 1.1环境 开发环境:Windows 10 64 位,Intel Core i5-7300HQ CPU, 8GB 内存 1.1. 1开发平台 Microsoft Visu ...

  8. socket recv 服务端阻塞 python_网络编程(基于socket编程)

    网络编程(基于socket编程) socket套接字:应用程序通常通过socket"套接字"向网络发送请求或应答网络请求,是主机间或同一计算机中的进程间相互通讯 socket是介于 ...

  9. python的socket编程_Python Socket编程详细介绍

    在使用Python做socket编程时,由于需要使用阻塞(默认)的方式来读取数据流,此时对于数据的结束每次都需要自己处理,太麻烦.并且网上也没找到太好的封装,所以就自己写了个简单的封装. 封装思路 1 ...

  10. python 图形化socket编程_Python黑帽编程2.8 套接字编程

    Python黑帽编程2.8 套接字编程 套接字编程在本系列教程中地位并不是很突出,但是我们观察网络应用,绝大多数都是基于Socket来做的,哪怕是绝大多数的木马程序也是如此.官方关于socket编程的 ...

最新文章

  1. linux rpm找不到命令_Linux安装软件
  2. srping atomikos 的jta 事物管理
  3. 矩阵运算和文本处理中的分类问题
  4. Win谷歌插件加载失效
  5. 【GDAL】GDAL栅格数据结构学习笔记(一): 关于Metadata
  6. java ssm 项目案例,亲测可用的JAVA SSM项目
  7. 鲲鹏来了,在EulerOS试用.NETCore-3.1
  8. leecode53 最大子序列和
  9. 35岁中年博士失业,决定给找高校教职的后辈一些建议
  10. Mine Video Player – 视频播放器WordPress插件
  11. 20个让Web Developer开发生涯更加轻松的工具
  12. TensorFlow 教程 --进阶指南--3.3可视化学习
  13. 测试类什么时候初始化
  14. (筆記) 如何為ModelSim加入永久性的library mapping? (SOC) (ModelSim)
  15. 【晒出你的第83行代码】跬步千里,十二年的老代码更是技术的沉淀!
  16. sprig aop事务配置
  17. 初识SQL(新手入门)
  18. Himawari-8葵花数据的python读取和matlab读取
  19. python爬取美女图片_python爬取百度美女图片
  20. python图案堆积_Python数据可视化,我是如何做出泡泡堆积关联图

热门文章

  1. 前端面试CSS自检(下)页面布局、定位与浮动和场景应用(先看问题 自己自述一遍 不会再看答案 )
  2. java post 发送_Java发送post方法详解
  3. 谚语55句(中英对译)
  4. Android4种网络连接方式的比较
  5. Expression的操作方法
  6. Raw expression
  7. 房地产行业是如何使用彩信广告进行宣传的?
  8. 接口和抽象类的区别(绝对经典)
  9. 基于MSP430单片机的微功耗中文人机界面设计
  10. 不宜同服的中药和西药