• 基于TCP Socket例子


    这是个基于TCP Socket的例子,流程是WSAStartup()->socket()->bind()-accept()->send()

    #pragma comment(lib,"ws2_32.lib")
    #include<winsock2.h>
    #include<stdio.h>
    int main()
    {
    	SOCKET mysock,tsock;	//定义套接字
    	struct sockaddr_in my_addr;		//本地地址信息
    	struct sockaddr_in their_addr;	//连接者地址信息
    	int sin_size;
    	WSADATA wsa;
    	WSAStartup(MAKEWORD(2,2),&wsa);		//初始化Windows Socket
    
    	//建立socket
    	mysock=socket(AF_INET,SOCK_STREAM,0);
    	my_addr.sin_family=AF_INET;		//协议类型是INET
    	my_addr.sin_port=htons(1234);	//绑定端口1234
    	my_addr.sin_addr.s_addr=INADDR_ANY;	//本机IP
    	bind(mysock,(struct sockaddr *)&my_addr,sizeof(struct sockaddr));
    
    	//listen,监听端口
    	listen(mysock,1);	//等待连接数目
    	printf("listen...");
    
    	//等待客户端连接
    	sin_size=sizeof(struct sockaddr_in);
    	tsock=accept(mysock,(struct sockaddr *)&their_addr,&sin_size);
    	
    	//有连接就发送Hello!字符过去
    	send(tsock,"Hello\n",sizeof("Hello!\n"),0);
    	printf("send ok!\n");
    
    	//成功,关闭套接字
    	closesocket(mysock);
    	closesocket(tsock);
    	return 0;
    }
    

    1.#pragma comment( comment-type ,["commentstring"] )
    comment-type是一个预定义的标识符,指定注释的类型,应该是compiler,exestr,lib,linker之一。
    commentstring是一个提供为comment-type提供附加信息的字符串。

    http://baike.baidu.com/view/3487831.htm

    2.WSAStartup,即WSA(Windows SocKNDs Asynchronous,Windows异步套接字)的启动命令。是Windows下的网络编程接口软件Winsock1 或 Winsock2 里面的一个命令(Ps:Winsock 是由Unix下的BSD Socket发展而来,是一个与网络协议无关的编程接口)。

    http://baike.baidu.com/view/2794415.htm

  • 相关阅读:
    GPU CUDA之——深入理解threadIdx
    需求分析、业务逻辑与数据结构
    软件建模的本质
    浅谈软件需求建模
    软件建模即程序设计
    软件开发从0到1与软件建模
    数据模型所描述的内容包括三个部分:数据结构、数据操作、数据约束。
    观察力与信息搜集能力
    人类为什么写书
    鲁宾斯坦说:"思维是在概括中完成的。"
  • 原文地址:https://www.cnblogs.com/shanmao/p/2779303.html
Copyright © 2020-2023  润新知