⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 win32_tcp_cli.c

📁 linux下的多个网络通讯的例子 可多参考下
💻 C
字号:
/* * TCP 客户端演示代码 */                                     #include <stdio.h>                                    #include <stdlib.h>                                   #include "os_socket.h"  #define MYPORT 4950  	int main(int argc,char *argv[]) {                     		int sockfd,numbytes;                                  		char buf[100];                                                                         		struct sockaddr_in their_addr;                        				unsigned short port;		int i = 0;            						if (argc != 4) {                                                                      fprintf(stderr,"usage: talker hostname message port\n");                               exit(1);                                                                      }             port = (unsigned short ) atoi(argv[3]);  				OS_SOCKET_INIT();		                      		//第一步:建立一个TCP套接字                                   		if((sockfd = socket(AF_INET,SOCK_STREAM,0))==INVALID_SOCKET) {    			PRINTERROR("socket");                                     			exit(1);                                              		}      								                                               		//第二步:设置服务器地址和端口2323		// 		memset(&their_addr,0,sizeof(their_addr)); 		               		their_addr.sin_family = AF_INET;                      		their_addr.sin_port = htons(port);                    		their_addr.sin_addr.s_addr = inet_addr(argv[1]);		//	their_addr.sin_addr.s_addr = inet_addr("192.168.0.146");		//	their_addr.sin_addr.s_addr = *((struct in_addr *)he->h_addr); 		memset(&(their_addr.sin_zero),0,8);							printf("connect server %s:%d\n",argv[1],port);				                   		//第三步:用connect 和服务器建立连接 ,		 //注意,这里没有使用本地端口,将由协议栈自动分配一个端口                                   		if(connect(sockfd,(struct sockaddr *)&their_addr,sizeof(struct sockaddr))==SOCKET_ERROR){                                                			PRINTERROR("connect");                                    			exit(1);                                              		}                                                     		//第四步,向服务器发送字符串"hello!"   		strcpy(buf,argv[2]);                       		if(send(sockfd,buf,6,0)==-1) {                   			PRINTERROR("send");                                       			exit(1);                                              		}                                                     		//第五步:接受从服务器返回的信息                              		if((numbytes = recv(sockfd,buf,100,0))==SOCKET_ERROR) {         			PRINTERROR("recv");                                       			exit(1);                                              		}                                                     		buf[numbytes] = 0;                                   		printf("result:%s\n",buf);   				//第六步,关闭网络联接                           		OS_SOCKET_CLOSE(sockfd); 				OS_SOCKET_CLEAR();  		                                     		return 0;                                             }                                                    

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -