精华内容
下载资源
问答
  • winsocket

    2007-07-14 16:00:31
    network winsocket
  • WinSocket

    2019-04-05 12:03:02
    socket监听函数的的第二个参数是什么意思?socket建立成功后会建立多好个队列进行维护? 4、对方地址一定要有初始化值,否则accept会失败 5、监听套接字属于被动套接字 6、recv等于0表示客户端断开连接了 参考:...

    socket:socket是用户进程和内核网络协议栈的编程接口

    1、WSA(window Socket asynchronous)window异步套接字
    2、需要加载对应的库文件#pragma comment(lib, " ")
    3、socket监听函数的的第二个参数是什么意思?socket建立成功后会建立多好个队列进行维护?
    4、对方地址一定要有初始化值,否则accept会失败
    5、监听套接字属于被动套接字
    6、recv等于0表示客户端断开连接了

    参考:C语言的Socket编程例子

    一、TCP类型的socket的例子:

    #include <iostream>
    #include <WinSock2.h>
    using namespace std;
    #pragma comment(lib, "ws2_32.lib")
    
    void ServiceTCP()
    {
    	WSADATA wd;//window异步套接字数据
    	SOCKET service;//服务器的socket
    	SOCKADDR_IN sin;//服务器的套接字
    	char revData[1024];//接收数据
    	int revDataLen;//接收数据的长度
    	SOCKET client;//客户端socket
    	SOCKADDR_IN clientAddr;//客户端套接字
    	int clientAddrLen = sizeof(clientAddr);//套接字结构体长度
    
    	int ret = 0;
    	ret = WSAStartup(MAKEWORD(2, 2), &wd);//开始加载socket2的动态库信息,并返回在wd中
    
    	if (ret != 0)
    	{
    		cout << "初始化socket失败" << endl;
    		return;
    	}
    
    	service = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);//tcp类型的socket
    	if (service == INVALID_SOCKET)
    	{
    		cout << "socket error" << endl;
    		return;
    	}
    
    	//绑定IP和端口
    	sin.sin_family = AF_INET;
    	sin.sin_addr.S_un.S_addr = INADDR_ANY;
    	sin.sin_port = htons(8888);
    	if (bind(service, (SOCKADDR *)&sin, sizeof(sin)) == SOCKET_ERROR)
    	{
    		cout << "socket error" << endl;
    		return;
    	}
    
    	//开始监听
    	if (listen(service, 5) == SOCKET_ERROR)
    	{
    		cout << "socket error" << endl;
    		return;
    	}
    
    	//循环接收数据
    	while (true)
    	{
    		cout << "wait connect please.......\n";
    		client = accept(service, (SOCKADDR *)&clientAddr, &clientAddrLen);//clientAddrLen一定要有初始化值
    		if (client == INVALID_SOCKET)
    		{
    			cout << "accept error" << endl;
    			return;
    		}
    		cout << "have an client connect \n";
    
    		if ((revDataLen = recv(client, revData, 255, 0)) > 0)
    		{
    			revData[revDataLen] = 0;//数据截断\0
    			cout << revData << endl;
    		}
    
    		char *sendData = "hello client, I am TCP Service\n";
    		send(client, sendData, strlen(sendData), 0);
    		closesocket(client);
    	}
    
    	closesocket(service);
    	WSACleanup();//对应WSAStartup
    	return;
    }
    
    #include<WinSock2.h>
    #include<iostream>
    using namespace std;
    #pragma comment(lib, "ws2_32.lib")
    
    void ClientTCP()
    {
    	WSADATA wd;
    	SOCKET client;
    	SOCKADDR_IN clientAddr;
    	char sendData[1024];
    	char revData[1024];
    	int revDataLen = sizeof(revData);
    	int ret;
    
    	ret = WSAStartup(MAKEWORD(2, 2), &wd);
    	if (ret != 0)
    	{
    		cout << "socket init error\n";
    		return;
    	}
    
    	client = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
    	if (client == INVALID_SOCKET)
    	{
    		cout << "socket error\n";
    		return;
    	}
    
    	clientAddr.sin_family = AF_INET;
    	clientAddr.sin_addr.S_un.S_addr = inet_addr("127.0.0.1");
    	clientAddr.sin_port = htons(8888);
    	if (connect(client, (SOCKADDR *)&clientAddr, sizeof(clientAddr)) == SOCKET_ERROR)
    	{
    		cout << "connect error\n";
    		return;
    	}
    
    	cout << "please input send data: ";
    	cin >> sendData;
    
    	send(client, sendData, strlen(sendData), 0);
    
    
    	if ((revDataLen = recv(client, revData, 255, 0)) > 0)
    	{
    		revData[revDataLen] = 0;
    		cout << revData << endl;
    	}
    
    	closesocket(client);
    	WSACleanup();
    	return;
    }
    
    展开全文
  • Winsocket

    2014-07-27 11:36:08
    1.选择winscok协议 2.在录制的OPTIONS里面设置

    1.选择winscok协议

    2.在录制的OPTIONS里面设置encoding为ASCII这样录制出来的东西不会太乱码。


    3.sock协议就是先建立连接,发送包,再关闭连接。就是3个过程。

    4.发的包的内容在data.ws里

    5.server要更新正确。remotehost=admin-PC:8080

    有些没有用的remotehost=admin-PC:1416  要注释掉。因为1416是进程端口。会变的。 只要sock名字一样的都要注释掉。

    6.还有在登录的时候,要注意一下login的server有可能网页显示的是85,但后台显示登录的是86.

    7.回放的时候,因为数据很大可以选择thinktime as record.

    展开全文
  • winsocket api

    2017-02-21 09:31:07
    包含winsocket 1.1和winsocket 2.2的api详细说明文档,pdf格式。
  • WinSocket 编程

    2009-09-30 17:06:18
    WinSocket 编程,WinSock Application Programming
  • winsocket案例

    2011-04-18 22:11:00
    winsocket 案例 分为服务器端和客户端 先运行服务器端,再运行客户端
  • winSocket编程例子

    2016-04-07 22:29:40
    winSocket编程例子
  • Winsocket模块.rar

    2020-04-05 18:53:26
    Winsocket模块.rar Winsocket模块.rar Winsocket模块.rar Winsocket模块.rar Winsocket模块.rar Winsocket模块.rar
  • winsocket资料

    2010-06-02 20:30:12
    winsocket.rarwinsocket.rarwinsocket.rarwinsocket.rarwinsocket.rarwinsocket.rarwinsocket.rarwinsocket.rarwinsocket.rarwinsocket.rar
  • WinSocket编程

    2015-07-11 19:38:41
    WinSocket下TCP通信编程,服务器端和客户端,有注释,参考配套博客:http://blog.csdn.net/u011787119/article/details/46843651
  • PB9 winsocket

    2012-12-17 16:41:43
    PB9 winsocket
  • winsocket编程

    2010-06-28 22:38:00
    winsocket编程

    // 服务器代码

    #include <Winsock2.h>

    #include <stdio.h>

    void main()

    {

    WORD wVersionRequested; //版本号

    WSADATA  wsaData;        //数据

    int err;

    wVersionRequested = MAKEWORD(1,1);

    err = WSAStartup(wVersionRequested,&wsaData);

    if( err != 0)

    {

    return;

    }

    if(LOBYTE( wsaData.wVersion ) != 1||

    HIBYTE( wsaData.wVersion) != 1)

    {

    WSACleanup();

    return;

    }

    SOCKET sockSrv=socket(AF_INET,SOCK_STREAM,0); //建立套接字

    SOCKADDR_IN addrSrv; 

    addrSrv.sin_addr.S_un.S_addr=htonl(INADDR_ANY);

    addrSrv.sin_family=AF_INET;

    addrSrv.sin_port=htons(6000);

    bind(sockSrv,(SOCKADDR*)&addrSrv,sizeof(SOCKADDR));  //绑定端口

    listen(sockSrv,5);   //转换socket套接子为侦听套接子

    SOCKADDR_IN addrClient;

    int len=sizeof(SOCKADDR);

    while(1)   //无限循环

    {

    SOCKET sockConn=accept(sockSrv,(SOCKADDR*)&addrClient,&len);

    char sendBuf[100];

    sprint(sendBuf,"Welcome %s to http://www.sunxin.org",

    inet_ntoa(addrClient.sin_addr));

    send(sockConn,sendBuf,strlen(sendBuf)+1,0);

    char recvBuf[100];

    recv(sockConn,recvBuf);

    printf("%sn",recvBuf);

    closesocket(sockConn);

    WSACleanup();

    }

    }

    注:这是Server端;File->New->Win32 Console Application,工程名:TcpSrv;然后,File->New->C++ Source File,文件名:TcpSrv;在该工程的SettingLinkObject/library modules项要加入ws2_32.lib

    #include <Winsock2.h>

    #include <stdio.h>

    void main()

    {

    WORD    wVersionRequested;

    WSADATA   wsaData;

    int err;

    wVersionRequested = MAKEWORD(1,1);

    err = WSAStartup(wVersionRequested,&wsaData); //启动winsock Dll

    if( err != 0)

    {

    return;

    }

    if(LOBYTE( wsaData.wVersion ) != 1||

    HIBYTE( wsaData.wVersion) != 1)

    {

    WSACleanup();

    return;

    }

    SOCKET sockClient=socket(AF_INET,SOCK_STREAM,0);

    SOCKADDR_IN addrSrv;
    addrSrv.sin_addr.S_un.S_addr=inet_addr("127.0.0.1");

    addrSrv.sin_family=AF_INET;

    addrSrv.sin_port = htons(6000);

    connect(sockClient,(SOCKADDR*)&addrSrv,sizeof(SOCKADDR));

    char recvBuf[100];

    recv(sockClient,recvBuf,100,0);

    printf("%sn",recvBuf);

    send(sockClient,"This is zhangsan",strlen("This is zhangsan")+1,0);

    closesocket(sockClient);

    WSACleanup();

    }

    注:这是Client端;File->New->Win32 Console Application,工程名:TcpClient;然后,File->New->C++ Source File,文件名:TcpClient;同理,在该工程的SettingLinkObject/library modules项要加入ws2_32.lib

    展开全文
  • winsocket客户端

    2011-02-13 11:09:09
    winsocket客户端,一个不可错过的资料。c++文件。
  • 这个资源是 WinSocket 源代码 一个很好的学习WinSocket 源代码 智能客户端在另外一个资源上, 因为我上次打包搞错了, 所以现在补上, WinSocket 版智能客户端 是两个资源加起来才是 不好意思
  • winsocket入门教程

    2014-03-27 10:40:40
    资源包括两个文档 1 Winsocket入门教程一:多线程阻塞式服务器和阻塞式客户端程序 TCP doc 2 Winsocket入门教程二:非阻塞式服务器和客户端程序 TCP doc
  • api winsocket

    2011-11-22 11:41:59
    api 写的找主机地址和名字. 通过主机名查ip地址 通过ip地址查主机名
  • WinSocket 版智能客户端及非常好的 Winsocket 学习源代码
  • 截获WINSOCKET

    2011-10-13 11:45:00
    TCP/IP协议是目前各网络操作系统主要的通讯协议,也是 INTERNET的通讯协议,WIN95/NT平台提供了TCP/IP协议的实现函数库WINSOCKET(WSOCKET.DLL)动态库,因而可以利用WINSOCKET 编写基于TCP/IP协议的应用系统。...
    TCP/IP协议是目前各网络操作系统主要的通讯协议,也是 INTERNET的通讯协议,WIN95/NT平台提供了TCP/IP协议的实现函数库WINSOCKET(WSOCKET.DLL)动态库,因而可以利用WINSOCKET 编写基于TCP/IP协议的应用系统。(UNIX平台提供BSD-SOCKET) 
    
    在实际应用开发中,我们总希望在调用正常的WINSOCKET接口函数时,先进行各自的特殊处理,如对于开发基于WIN95/NT平台的VPN客户端软件时,我们希望应用信息在发送前即在调用SEND函数时,先对信息进行加密后再发送。又如有的应用系统调用CONNECT 函数进行连接请求,我们需要截获此调用,插入我们自己的身份认证。模块,只有合法的身份,才可以调用正常的CONNECT函数,而非法的身份则不进行CONNECT调用。因而需要开发一种截获WINSOCKET函数调用的方法(INTERCEPT WINSOCKET),使在进行WINSOCK正常函数调用之前,使其先调用我们的身份认证模块,加解密模块。由于在WIN95/NT平台 WINSOCKET是以动态连接库(DLL)形式提供的,应而使各种应用系统在进行TCP/IP协议通讯时,无须任何修改,就先调用我们的应用模块,实现应用的透明性。
    一般要截获动态库(DLL)的调用,可以用HOOK(钩子技术),或外包DLL 技术,即将原来的DLL库改名(如将WINSOCK库WSOCK32.DLL改为A.DLL),新建一个DLL库,WSOCKET32.DLL,在新的DLL库中调用旧的DLL库。
    展开全文
  • winsocket简单实例

    2014-11-21 16:52:17
    利用c语言编写的简单winsocket通信实例。客户端和服务器端都有发送和接收部分。
  • Winsocket模块

    2015-09-20 11:39:26
    由个人独立开发,请勿盗版,谢谢大家的支持,这款模块可以帮大家解决很多的问题
  • 易语言Winsocket模块

    2019-01-22 21:17:56
    本模块使用Winsocket系列API实现,可以实现TCP/UDP的基本通信
  • Winsocket编程

    2015-12-10 23:12:23
    原始套接字是WINSOCK公开的一个套接字编程接口,它让我们可以在 IP 层对套接字进行编程,控制其行为,常见的应用有抓包 (Sniffer)、分析包、洪水攻击、ICMP ping等,但它不能截取包(所谓的截取包就是把包拦截下来...
  • WinSocket编程实例

    2013-04-25 08:36:55
    根据教程写的WinSocket的实例,在VC++6.0中使用MFC实现。

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 3,348
精华内容 1,339
关键字:

winsocket是什么