tcpclient.c
来自「Linux网络通信实例TCP&UDP 包括UDP和TCP简单的客户端和服务端两」· C语言 代码 · 共 63 行
C
63 行
//================================TCPClient.c=========================================
#include <stdio.h>
#include <stdlib.h>
#include <errno.h>
#include <string.h>
#include <netdb.h>
#include <sys/types.h>
#include <netinet/in.h>
#include <sys/socket.h>
int main(int argc,char *argv[])
{
if(argc!=2)
{
printf("%s: IPAddress\n",argv[0]);
return ;
}
int sockfd,numbytes;
char buf[100];
struct hostent *he;
struct sockaddr_in their_addr;int i = 0;
//将基本名字和地址转换
he = gethostbyname(argv[1]);
//建立一个TCP套接口
if((sockfd = socket(AF_INET,SOCK_STREAM,0))==-1)
{
perror("socket");
exit(1);
}
//初始化结构体,连接到服务器的2323端口
their_addr.sin_family = AF_INET;
their_addr.sin_port = htons(15800);
their_addr.sin_addr = *((struct in_addr *)he->h_addr);
bzero(&(their_addr.sin_zero),8);
//和服务器建立连接
if(connect(sockfd,(struct sockaddr *)&their_addr,sizeof(struct sockaddr))==-1)
{
perror("connect");
exit(1);
}
//向服务器发送字符串
while(1)
{
scanf("%s",&buf);
if(send(sockfd,buf,strlen(buf),0)==-1)
{
perror("send");
exit(1);
}
memset(buf,0,sizeof(buf));
//接受从服务器返回的信息
if((numbytes = recv(sockfd,buf,100,0))==-1)
{
perror("recv");
exit(1);
}
buf[numbytes] = '\0';
printf("result:%s\n",buf);
}
close(sockfd);
return 0;
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?