简单TCP服务器端和客户端(源代码)

MFC的TCP套接字客户端程序代码 立即下载

http://andylin02.iteye.com/blog/460742

Cpp代码   收藏代码
  1. #include <iostream>  
  2. #include <stdio.h>  
  3. #include <windows.h>  
  4.   
  5. using namespace std;  
  6.   
  7. #pragma comment(lib, "WS2_32.lib")  
  8.   
  9.   
  10. int main()  
  11. {  
  12.  WSADATA wsaData;  
  13.  WORD sockVersion = MAKEWORD(2, 2);  
  14.  SOCKET sock = 0;  
  15.   
  16.  if (WSAStartup(sockVersion, &wsaData) != 0)  
  17.  {  
  18.   cout << "initlization failed!" << endl;  
  19.   exit(0);  
  20.  }  
  21.   
  22.  sock = ::socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);  
  23.   
  24.  if (sock == INVALID_SOCKET)  
  25.  {  
  26.   cout << "failed socket!" << endl;  
  27.   
  28.   return 0;  
  29.  }  
  30.   
  31.  sockaddr_in sin;  
  32.   
  33.  sin.sin_family = AF_INET;   
  34.  sin.sin_port = htons(4567);  
  35.  sin.sin_addr.S_un.S_addr = inet_addr("127.0.0.1");  
  36.   
  37.  if (connect(sock, (sockaddr*)&sin, sizeof(sockaddr)) == -1)  
  38.  {  
  39.   cout << "connect failed!" << endl;  
  40.   
  41.   return 0;  
  42.  }  
  43.   
  44.  char buffer[256] = "\0";  
  45.  int  nRecv = 0;  
  46.   
  47.  nRecv = recv(sock, buffer, 256, 0);  
  48.   
  49.  if (nRecv > 0)  
  50.  {  
  51.   buffer[nRecv] = '\0';  
  52.   
  53.   cout << "reveive data: " << buffer << endl;  
  54.  }  
  55.   
  56.  closesocket(sock);  
  57.    
  58.  WSACleanup();  
  59. }  
  60.   
  61. //服务端:  
  62.   
  63. #include <iostream>  
  64. #include <stdio.h>  
  65. #include <windows.h>  
  66.   
  67. using namespace std;  
  68.   
  69. #pragma comment(lib, "WS2_32.lib")  
  70.   
  71.   
  72. int main()  
  73. {  
  74.  WSADATA wsaData;  
  75.  WORD sockVersion = MAKEWORD(2, 2);  
  76.  SOCKET sListen = 0;  
  77.  sockaddr_in sin  = {0};  
  78.  sockaddr_in remoteAddr = {0};  
  79.  char szText[] = "TCP Server Demo";  
  80.  int nAddrLen = 0;  
  81.   
  82.  nAddrLen = sizeof(sockaddr_in);  
  83.         //fill sin  
  84.  sin.sin_port = htons(4567);  
  85.  sin.sin_family = AF_INET;  
  86.  sin.sin_addr.S_un.S_addr = INADDR_ANY;  
  87.   
  88.  //init wsa  
  89.  if (WSAStartup(sockVersion, &wsaData) != 0)  
  90.  {  
  91.   cout << "initlization failed!" << endl;  
  92.   
  93.   exit(0);  
  94.  }  
  95.   
  96.  sListen = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);  
  97.   
  98.  if (bind(sListen, (LPSOCKADDR)&sin, sizeof(sin)) == SOCKET_ERROR)  
  99.  {  
  100.   cout << "bind failed!" << endl;  
  101.   
  102.   return 0;  
  103.  }  
  104.   
  105.  if (listen(sListen, 2) == SOCKET_ERROR)  
  106.  {  
  107.   cout << "listen failed!" << endl;  
  108.   
  109.   return 0;  
  110.  }  
  111.   
  112.  SOCKET sClient = INADDR_ANY;  
  113.   
  114.  while (true)  
  115.  {  
  116.   sClient = accept(sListen, (SOCKADDR*)&remoteAddr, &nAddrLen);  
  117.   
  118.   if (sClient == INVALID_SOCKET)  
  119.   {  
  120.    cout << "accept failed!" << endl;  
  121.   
  122.    continue;  
  123.   }  
  124.   
  125.   send(sClient, szText, strlen(szText), 0);  
  126.   
  127.   closesocket(sClient);   
  128.   
  129.  }  
  130.   
  131.  closesocket(sListen);  
  132.   
  133.  WSACleanup();  
  134. }   

 

 

Cpp代码   收藏代码
  1. //服务端:  
Cpp代码   收藏代码
  1. #include <iostream>  
  2. #include <stdio.h>  
  3. #include <windows.h>  
  4.   
  5. using namespace std;  
  6.   
  7. #pragma comment(lib, "WS2_32.lib")  
  8.   
  9.   
  10. int main()  
  11. {  
  12.     WSADATA wsaData;  
  13.     WORD sockVersion = MAKEWORD(2, 2);  
  14.     SOCKET sListen = 0;  
  15.     sockaddr_in sin  = {0};  
  16.     sockaddr_in remoteAddr = {0};  
  17.     char szText[] = "TCP Server Demo";  
  18.     int nAddrLen = 0;  
  19.   
  20.     nAddrLen = sizeof(sockaddr_in);  
  21.     //fill sin  
  22.     sin.sin_port = htons(4567);  
  23.     sin.sin_family = AF_INET;  
  24.     sin.sin_addr.S_un.S_addr = INADDR_ANY;  
  25.   
  26.     //init wsa  
  27.     if (WSAStartup(sockVersion, &wsaData) != 0)  
  28.     {  
  29.         cout << "initlization failed!" << endl;  
  30.   
  31.         exit(0);  
  32.     }  
  33.   
  34.     sListen = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);  
  35.   
  36.     if (bind(sListen, (LPSOCKADDR)&sin, sizeof(sin)) == SOCKET_ERROR)  
  37.     {  
  38.         cout << "bind failed!" << endl;  
  39.   
  40.         return 0;  
  41.     }  
  42.   
  43.     if (listen(sListen, 2) == SOCKET_ERROR)  
  44.     {  
  45.         cout << "listen failed!" << endl;  
  46.   
  47.         return 0;  
  48.     }  
  49.   
  50.     SOCKET sClient = INADDR_ANY;  
  51.   
  52.     while (true)  
  53.     {  
  54.         sClient = accept(sListen, (SOCKADDR*)&remoteAddr, &nAddrLen);  
  55.   
  56.         if (sClient == INVALID_SOCKET)  
  57.         {  
  58.             cout << "accept failed!" << endl;  
  59.   
  60.             continue;  
  61.         }  
  62.   
  63.         send(sClient, szText, strlen(szText), 0);  
  64.   
  65.         closesocket(sClient);   
  66.   
  67.     }  
  68.   
  69.     closesocket(sListen);  
  70.   
  71.     WSACleanup();  
  72. }   
 
在STM32上运行小波变换及神经网络算法——(一)单片机中小波算法编写 在单片机上实现离散小波变换的C代码,通过确定信号长度、小波分解层数、小波基名称后进行编写,并改写成了方便调用的结构体格式。 阅读详情

相关推荐

SAP PPDS启发式排产实战:从零配置到自定义规则开发(附ABAP代码示例)

本文详细介绍了SAP PPDS启发式排产的实战应用,从基础配置到自定义规则开发的全流程。通过ABAP代码示例,展示了如何实现多目标优化、实时响应和约束可视化,帮助企业提升订单交付率、减少设备闲置时间。文章还包含开发环境准备、标准模板解析、自定义开发步骤及性能优化技巧,适合制造业数字化转型的实践参考。

seed的博客 185

【C++】TCP通信服务端与客户端代码实现及详解

本文分享了TCP/IP的客户端及服务端的C++代码实现,并进行了详细的解析。其中服务端使用Winsock库实现了简单的TCP服务器,它监听指定端口并与客户端进行通信。代码仍然有改进的空间,例如可以处理更多的错误情况,添加更多的日志输出,以及更完善的输入验证等。

AAADiao的博客 9542

用大白话讲解Carplay(原创)

用大白话讲解Carplay: Carplay是美国苹果公司开发的一套服务,用户通过这套服务可以将iPhone与车载系统连接,然后在车载大屏上操作使用iPhone手机。个人理解,Carplay不能叫车载系统,不是操作系统,只能算一种服务。让你在车上的大屏上使用iPhone,这样用起来更方便,不需要在手机小屏幕上操作。基于这一点,有些人也说Carplay就是个投屏的功能,将手机屏幕投屏到了车机大屏上。可以简单这么理解,但是并不只是投屏这么简单,如果只是投屏的话,车子只是起到了一个显示器的功能,其实不止,手机和

cici2013的专栏 2万+

TCP服务端和客户端编程流程+代码详细解析(linux:c语言)

TCP服务端和客户端的编程流程是网络编程的重点。以下内容包括编程步骤、代码实现、以及代码解析四个方面。

sebeefe的博客 4242

【SIP基础】SIP协议基本呼叫流程

SIP呼叫流程下图显示了一个SIP会话的基本呼叫流程。 下面是上述呼叫流程的详细解释: Alice发送INVITE请求到代理服务器,INVITE请求负责发起会话。 代理服务器立即发送Trying 100给请求者(Alice),表示试图响应INVITE请求,以防止重传该INVITE请求。 代理服务器搜索Bob所在位置服务器的地址,得到的地址后,将转发INVITE请求到Bob。 此后,Bob回应180

VVSIP官网博客 1万+

企业网络改造必看:如何用华为S5700三层交换机解决多部门隔离通信?

本文详细介绍了如何利用华为S5700三层交换机解决企业多部门网络隔离与通信需求。通过划分VLAN实现逻辑隔离,并配置三层路由实现受控互通,结合ACL进行精细访问控制,构建安全高效的企业网络。文章提供了从拓扑规划、地址分配到核心配置的完整实战指南。

weixin_29260291的博客 262

服务端和客户端通信-TCP(含完整源代码)

一、是TCP流式套接字(SOCK_STREAM)提供了一个面向连接、可靠的数据传输服务,数据无差错、无重复地发送,且按发送顺序接收。Af--------指定通信发生的区域:AF_UNIX、AF_INET、AF_NS等,而DOS、WINDOWS中仅支持AF_INET,它是网际网区域。如果没有错误发生,accept()返回一个SOCKET类型的值,表示接收到的套接字的描述符。listen()在执行调用过程中可为没有调用过bind()的套接字s完成所必须的连接,并建立长度为backlog的请求连接队列。

qq_51782199的博客 4086

【完美解决】Anaconda3安装后缺失大量文件,没有scripts、Library等目录

Anaconda3是官网下载的:https://www.anaconda.com/distribution/#download-section 我选择的是64位python 3.7的版本。 问题出现及现象: 我自己选择了一个D盘的目录D:\Tools\Anaconda3进行安装,装完后发现conda list命令无法执行,首先都到的是配置环境变量,然后发现安装目录下缺失大量文件(如下图)...

android之行 3万+

TCP 通信并发服务器详解(附有案例代码)

代码】TCP通信并发详解(附有案例代码)

热爱数据库的小胖 2960

【Autoware】2小时安装Autoware1.13(保姆级教程)

Autoware是一款“一体化”开源自动驾驶软件,能实现感知、决策、控制等功能,通过在Ubuntu中搭建Autoware开发环境和案例的运行,使大家对自动驾驶技术的实现有一个更清晰的认识。

DevFrank的博客 1万+

开源GIS -- 笔记

基础开发库 数据读写:GDAL/OGR(C/C++) ArcGIS和GE都是使用此工具 投影转换:Proj.4(C/C++) 拓扑计算:JTS(Java),GEOS(C++),Shapely(python) 组件式开发库 GeoTools(Java),DotSpatial(.NET) 空间分析: Scipy(通用科学计算、方程求解), numpy,NextworkX, rPy(统计分析), Scikit-learn,pysal(空间分析) 深度学习: Keras、 tensorflow、 pytor

DZ Space 4521

TCP/IP网络编程(1)——基于TCP的服务端和客户端的简单实现

本系列是阅读尹圣雨所著TCP/IP网络编程一书的学习笔记,我将记录一些关键知识和遇到的问题,在最后能够自己搭建一个简易的服务器。本文主要介绍TCP服务端和客户端的一些关键函数。

drinkwaterwater的博客 4053

图形推理2-四大类六提示

图形推理笔记2

小y的学习笔记 6746

简单TCP服务器端和客户端(源代码)附详细解释

1. //客户端:   Cpp代码    1. #include       2. #include       3. #include  //一定要包含该头文件    4.       5. using namespace std;      6.       7. #pragma comment(lib, "WS2_32.lib")  //windwows下的socket编程函

u010931032的专栏 1375

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

一个简单的服务器和客户端的心跳程序

程序是基于TCP的,只是为了测试,功能并不完善。 大多数的心跳都是UDP协议。当服务器端的数据和心跳在同一端口时,TCP协议很容易出现心跳被阻塞的情况。 服务器端代码: View Code 1 #include <unistd.h> 2 #include <arpa/inet.h> 3 #include <netinet/in.h>...

weixin_34310785的博客 510

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

java写自己的tcp协议_Java实现 利用TCP协议实现网络之间的通信

TCP通信编程-Java实现客户端编程步骤:建立网络连接交换数据关闭网络连接服务器端编程步骤:监听端口获得连接交换数据关闭连接主要理解一下以下几个类:InetAddress类 该类的功能是代表一个IP地址,并且将IP地址和域名相关的操作方法包含在该类的内部。ServerSocket类 用来给服务器端建立套接字,它的主要功能是等待来自网络上的“请求”,它可通过指定的端口来等大...

weixin_33564130的博客 539

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

Linux以下基于TCP多线程聊天室(server)

    接上篇博文,本文是server端的实现,主要实现的功能,就是现实client的连接。转发client发送的消息。以及client掉线提示等功能,同一时候能够在这这上面扩展和TCP以及线程相关的功能木块。 tcpreceive.h 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 ...

weixin_34127717的博客 270

最简单的Windows套接字(Socket)例子(源码,实例)

最简单的Windows套接字(Socket)例子(源码,实例) 佟强(http://blog.youkuaiyun.com/microtong) 2008年11月21日    Server.exe PortNumber,例如Server 8000    Client.exe IPAddress PortNumber,例如Client 127.0.0.1 8000    然后在客户端的命令行输入字符

佟强 2万+

简单的TCP/UDP程序

  tcp_c.c:tcp客户端源程序 tcp_s.c:tcp服务器端源程序 udp_c.c:udp客户端源程序 udp_s.c:udp服务器端源程序//文件:tcp_c.c//描述:tcp客户端源程序#include stdio.h>#include winsock2.h>#pragma comment(lib, "WS2_32.lib")

sjdev的专栏(申俊杰) 6272

Linux 基于TCP的简单的socket通信

server.cpp #include<stdio.h> #include<string.h> #include<sys/types.h> #include<sys/socket.h> #include<netinet/in.h> #include<arpa/inet.h> int main(int argc, char const *argv[]) { int server_sockfd; //服务端套接字 int client_

qq_44647223的博客 388

流式套接字(SOCK_STREAM)——客户端/服务器(C/S)源代码

<br /><br /> <br />摘自:http://wxxweb.blog.163.com/blog/static/135126900201022691449421/<br /> <br />实现最简单的客户端和服务器程序<br />先总结一下简单的流程再将这两部分的源代码贴出来。<br /> <br />服务器:<br />1.       绑定Socket库:调用WSAStartup函数(只用于Windows操作系统中)<br />2.       获取Socket描述符:调用socket函数<b

HEN_MAN的专栏 2896

通信网络实验——TCP 的socket实现

一、实验目的 1.熟练掌握socket编程命令。 2.为下一步实验打好基础。 二、实验原理 1.网络编程就是通过计算机网络与其他程序进行通信的程序,Socket编程是网络编程的主流工具。 2.Socket API是实现进程间通信的一种编程设施,也是一种为进程间提供底层抽象的机制。 3.尽管应用开发人员很少需要在该层编写代码,但是理解socket API还是非常重要的。主要有两点原因:

DC的陋室 7590

模拟一个简单的基于tcp的远程关机程序

最近在学习unix网络编程,现在正在学习tcp的通信。其实,只要建立起了tcp通信,操作远端的计算机就不是什么问题了。正向telnet一样,也是基于tcp/IP协议的。所以这个实验,也算是对telnet功能的一种简单的模拟。 但是,值得注意的问题是关机涉及到系统权限,所以要给运行在Server端的程序以足够的权限,这样才可以在接收到Client端的关机请求时,执行关机。 将会模拟如下执行过...

weixin_33768481的博客 205

简单的获取服务器时间程序(UNIX网络编程)

客户端程序:TimeGetC.c #include #include #include #include//for sockaddr_in #include #include #include #include #include int main(int argc, char** argv) { struct sockaddr_in serverAddr; int c

haida_liudan的专栏 682

基于TCP的网络聊天室

client.c #include <stdio.h> #include <stdlib.h> #include <unistd.h> #include <sys/socket.h> #include <netinet/in.h> #include <arpa/inet.h> #include <string.h>...

LokTar29的博客 676
上一篇: Linux下各类TCP网络服务器的实现源代码
下一篇: 什么是逐次比较型ADC(模数转换器)
linuxheik
博客等级 码龄15年 865粉丝 135原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值