问题描述
- 这是基于TCP的网络通信,
-
//clientTcp.c
#include
#include
#include
#include
#include
#include
#include
#include
#define SERVPORT 3333 //侦听端口地址
#define MAXDATASIZE 100
main(int argc,char argv[])
{
int sockfd,sendbytes;
char buf[MAXDATASIZE];
//struct hostent *host;
struct sockaddr_in serv_addr;//服务器地址结构
/
if(argc < 2){
fprintf(stderr,"Please enter the server'shostname!
");
exit(1);
} /
/地址解析函数
if((host=gethostbyname(argv[1]))==NULL){
perro("gethostbyname");
exit(1);
} /
/创建 socket*/
if((sockfd=socket(AF_INET,SOCK_STREAM,0))== -1){
perror("socket");
exit(1);
}
/*设置 sockaddr_in 结构体中相关参数*/
serv_addr.sin_family=AF_INET;
serv_addr.sin_port=htons(SERVPORT);
serv_addr.sin_addr.s_addr=inet_addr("127.0.0.1");
bzero(&(serv_addr.sin_zero),8);
/*调用 connect 函数主动发起对服务器端的连接*/
if(connect(sockfd,(struct sockaddr )&serv_addr,sizeof(struct sockaddr))== -1){
perror("connect");
exit(1);
}
/发送消息给服务器端*/
if((sendbytes=write(sockfd,"hello",5))== -1){
perror("send");
exit(1);
}
close(sockfd);
return 0;
}
解决方案
网络通信 Tcp
Linux操作系统下的TCP/IP网络通信
TCP/IP 网络通信基础
解决方案二:
可以这么说,但是。。。没有对事件的操作,这仅仅是一个连接
时间: 2024-09-14 02:37:55