基于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
----------------
Lynx
The quieter you become,the more you are able to hear.
Lynx
The quieter you become,the more you are able to hear.
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步