socket tcp clinet最简单测试程序
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 | // testsocketclient.cpp : 定义控制台应用程序的入口点。 // #include "stdafx.h" #include <winsock2.h> #include <stdio.h> #pragma comment(lib, "Ws2_32.lib") void main() { //加载套接字库,版本协商 WORD wVersionRequired; WSADATA wsaData; int err; //请求库 //WSAStartup( WORD wVersionRequired, WSADATA lpWSAData ); wVersionRequired = MAKEWORD(1, 1); err = WSAStartup(wVersionRequired, &wsaData); if (err != 0) { //不等于0就退出 return ; } //高字节和低字节都不为1 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( "10.10.22.105" ); addrSrv.sin_family = AF_INET; addrSrv.sin_port = htons(9099); connect(sockClient, (SOCKADDR*)&addrSrv, sizeof (SOCKADDR)); label: send(sockClient, "this is qiang ge" , strlen ( "this is qiang ge" ) + 1, 0); while (1) { char recvBuf[100]; recv(sockClient, recvBuf, 100, 0); printf ( "%s\n" , recvBuf); int igoto = 0; scanf_s( "%d" , &igoto); if (igoto == 111) goto label; } closesocket(sockClient); WSACleanup(); system ( "PAUSE" ); } |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了