📄 win32_tcp_cli.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 + -