winSocket数据传输

服务器端:

 1 #include <WINSOCK2.H>
 2 #include <stdio.h>
 3 #pragma comment(lib,"ws2_32.lib")
 4 int main(int argc,char **argv)
 5 {
 6     //创建套接字
 7     WORD myVersionRequest;
 8     WSADATA wsaData;
 9     myVersionRequest=MAKEWORD(1,1);
10     int err;
11     err=WSAStartup(myVersionRequest,&wsaData);
12     if (!err)
13     {
14         printf("已打开套接字,等待连接!\n");
15     }
16     else
17     {
18         printf("ERROR:嵌套字未打开!");
19         return 1;
20     }
21     //进一步绑定套接字
22     SOCKET serSocket=socket(AF_INET,SOCK_STREAM,0);//创建了可识别套接字
23
24     //需要绑定的参数
25     SOCKADDR_IN addr;
26     addr.sin_family=AF_INET;
27     addr.sin_addr.S_un.S_addr=htonl(INADDR_ANY);//ip地址
28     addr.sin_port=htons(6000);//绑定端口
29
30     bind(serSocket,(SOCKADDR*)&addr,sizeof(SOCKADDR));//绑定完成
31     listen(serSocket,5);//其中第二个参数代表能够接收的最多的连接数
32
33     //////////////////////////////////////////////////////////////////////////
34     //开始进行监听
35     //////////////////////////////////////////////////////////////////////////
36     SOCKADDR_IN clientsocket;
37     int len=sizeof(SOCKADDR);
38     while (1)
39     {
40         SOCKET serConn=accept(serSocket,(SOCKADDR*)&clientsocket,&len);//如果这里不是accept而是conection的话。。就会不断的监听
41         char sendBuf[100];
42
43         sprintf(sendBuf,"hello, %s !",inet_ntoa(clientsocket.sin_addr));//找对对应的IP并且将这行字打印到那里
44         printf("Send:%s\n",sendBuf);
45         send(serConn,sendBuf,strlen(sendBuf)+1,0);
46
47         char receiveBuf[100];//接收
48         recv(serConn,receiveBuf,sizeof(receiveBuf),0);
49         printf("recv:%s\n",receiveBuf);
50
51         closesocket(serConn);//关闭
52         WSACleanup();//释放资源的操作
53         return 0;
54     }
55     return 1;
56 }

客户机端:

 1 #include <WINSOCK2.H>
 2 #include <stdio.h>
 3 #pragma comment(lib,"ws2_32.lib")
 4 int main(int argc,char **argv)
 5 {
 6     int err;
 7     WORD versionRequired;
 8     WSADATA wsaData;
 9     versionRequired=MAKEWORD(1,1);
10     err=WSAStartup(versionRequired,&wsaData);//协议库的版本信息
11     if (!err)    {
12         printf("客户端嵌套字已经打开!\n");
13     } else {
14         printf("ERROR:客户端的嵌套字打开失败!\n");
15         return 1;//结束
16     }
17     SOCKET clientSocket=socket(AF_INET,SOCK_STREAM,0);
18
19     SOCKADDR_IN clientsock_in;
20     clientsock_in.sin_addr.S_un.S_addr=inet_addr("192.168.1.3");
21     clientsock_in.sin_family=AF_INET;
22     clientsock_in.sin_port=htons(6000);
23
24     //bind(clientSocket,(SOCKADDR*)&clientsock_in,strlen(SOCKADDR));//注意第三个参数
25     //listen(clientSocket,5);
26     connect(clientSocket,(SOCKADDR*)&clientsock_in,sizeof(SOCKADDR));//开始连接
27     char receiveBuf[100];
28     if(1) {
29
30         printf("Send:%s\n","hello,this is client");
31         send(clientSocket,"hello,this is client",strlen("hello,this is client")+1,0);
32
33         recv(clientSocket,receiveBuf,101,0);
34         printf("Recv:%s\n",receiveBuf);
35
36         closesocket(clientSocket);
37         WSACleanup();
38     }
39     return 0;
40 }
时间: 2024-10-05 04:40:56

winSocket数据传输的相关文章

关于数据传输中加密解密那点事儿(一)

随着互联网的兴起,越来越多的信息和资源要通过网络传输完成:然而在这些数据传输中总有一些"无关人员"做一些窃听.盗取.篡改等危害数据安全的行为,所以我们要对数据进行加密处理,以保证数据的安全传输: 所以有了一下几种加密方式: 一.对称加密: 这种算法简单来说就是 数据的发送方和接收方都必须要有同一种密钥(加密数据所用到的密钥),在数据的传输中 数据与密钥都通过加密的方式传送: 特性:在数据加密中,数据被分成固定大的块,逐个加密:加密和解密速度也快: 缺陷:因为加密和解密使用同一种密钥,所

ajax之前台和后台数据传输

Spring中ajax数据传输 由于项目需要用ajax提交数据,而不是form提交数据.因此我需要学习ajax,这也是我在开发小组做的最后一个东西,尽管由于暑假要去东软实训,这个ajax提交也没有做完,但对于数据的在前台和后台的传递是解决了. 如何把数据通过ajax从前台传到后台,在网上查询的方法都是通过"data:"把数据传到后台,但是后台"String endTime=request.getParameter("eTime");"时间的值是空

openssl与数据传输安全

数据安全服务的几个方面:     1.认证             访问控制 阻止对资源的未授权访问     2.数据保密性      3.数据完整性          要保证发送方所发送的数据没有被修改...     4.不可否认性 一.怎么验证数据的完整性.也就怎么知道数据在传输的过程中没有被修改过.这就要使用到单向加密算法,提取数据的指纹(特征码). 数据的传输双方为:甲.乙 甲:在数据传输之前,提取该数据的"指纹"然后,把数据指纹附加在数据中一起发送给乙. 乙:接收到该数据以后

NTB EEPROM设置与跨节点数据传输

NTB EEPROM设置与跨节点数据传输 双控双活系统中除了需要监测系统状态的心跳之外,还需要能够跨节点传输数据的通道.PCIE非透明桥(NTB)由于其基于标准的PCIE规范,软件依赖少,速度快,配置简便,受到许多人的青睐.基于PCIE NTB进行跨节点数据传输的原理很简单,如下图所示意: 较之于普通的PCIE/PCI设备的配置空间寄存器,NTB上多了bar2/3,bar4/bar5的地址转换寄存器,本地节点发送过来的命中bar2/bar3或者bar4/bar5的TLP的地址高位会转换成相应的地

【转】基于 Android NDK 的学习之旅-----数据传输(引用数据类型)

原文网址:http://www.cnblogs.com/luxiaofeng54/archive/2011/08/20/2147086.html 基于 Android NDK 的学习之旅-----数据传输二(引用数据类型)(附源码) 基于 Android NDK 的学习之旅-----数据传输(引用数据类型) 接着上篇文章继续讲.主要关于引用类型的数据传输,本文将介绍字符串传输和自定义对象的传输. 1.主要流程 1.  String 字符串传输 a)         上层定义一个native的方法

linux网络数据传输的加密,解密以及基于openssl的私有CA的建立

网络数据传输的安全性是计算机通信领域的重要课题,数据加密就是保证数据安全性的主要方法.所谓数据加密,即是通过某种算法和秘钥对数据明文进行处理,从而得到密文的过程.计算机网络通信过程中的加密形式主要有以下几种: 1,对称加密,用同一个密钥对信息的加密和解密,这种加密方法称为对称加密,也称为单密钥加密.对称加密算法的优点是算法公开.计算量小.加密速度快.加密效率高,但秘钥有时会很多,难以管理.而且秘钥交换又是一个难以解决的问题. 常见算法: DES:Data Encryption Standard,

TCP协议可靠性数据传输实现原理分析

http://blog.csdn.net/chexlong/article/details/6123087 TCP 协议是一种面向连接的,为不同主机进程间提供可靠数据传输的协议.TCP 协议假定其所使用的网络栈下层协议(如IP 协议)是非可靠的,其自身提供机制保证数据的可靠性传输.在目前的网络栈协议族中,在需要提供可靠性数据传输的应用中,TCP 协议是首选的,有时也是唯一的选择.TCP 协议是在最早由Cerf 和Kahn[1]所提出的有关网络数据包传输协议的概念之上建立的.TCP 协议被设计成符

wcf,socket,数据传输方式

WCF的最终目标是通过进程或不同的系统.通过本地网络或是通过Internet收发客户和服务之间的消息. WCF合并了Web服务..net Remoting.消息队列和Enterprise Services的功能并集成在Visual Studio中. WCF专门用于面向服务开发. 什么是WCF.WCF是Windows Communication Fundation的缩写,是微软在.net 3.0 的时候引进的,用于开发可交互的分布式应用程序.所谓的分布式应用程序,按百度百科来讲,是指:应用程序分布

总线及数据传输技术【待完善】

作者:桂. 时间:2017-08-05  14:41:36 链接:http://www.cnblogs.com/xingshansi/p/7290224.html 前言 最近的工作内容涉及硬件,三个高频词汇:总线.接口.协议,例如I2C.PCIe.RS-232C.RapidIO(SRIO)以及Aurora等等,往细里说还有数据的带宽.位宽.工作频率.数据传输可靠性等等,打算不定期更新,梳理出一篇文章,理理头绪. 一.高速数据传输 目前涉及的高速数据传输都是利用串口(并口不是更快?参考知乎).Xi