网络编程----TCP/IP协议

使用TCP/IP协议实现客户端和服务器端进行通信:

1.服务器端(test1.c):

#include <sys/socket.h>
#include <sys/types.h>
#include <arpa/inet.h>
#include <stdio.h>
#include <unistd.h>



// 创建服务器端
int main()
{


//1.创建套接字
 int serfd=socket(AF_INET,SOCK_STREAM,0);
 if(serfd==-1)
 {

    printf("create socket failed\n");
    return -1;
 }
 //2.绑定套接字和服务器地址
 struct sockaddr_in addr;
 addr.sin_family=AF_INET;
 addr.sin_port=htons(8000);
 addr.sin_addr.s_addr=inet_addr("127.0.0.1");


int ret=bind(serfd,(struct sockaddr*)&addr,sizeof(addr));
if(ret==-1)
 {

  printf("bind failed\n");
  return -2;
 }

 //3.监听模式
 ret=listen(serfd,10);
 if(ret==-1)
 {

   printf("listen failed\n");
   return -3;

 }

 //4. 等待客户端连接的到来

 printf("waitting connect ......\n");
int clifd= accept(serfd,NULL,NULL);
if(clifd==-1)
{

 printf("create client socket file failed\n");
 return -4;
}

// 5. 读客户端发来的数据
char buff[100]={0};
read(clifd,buff,100);
printf("read content=%s\n",buff);

//6.关闭连接

 close(clifd);//
 close(serfd);

return 0;

}

2.客户端(test2.c):

#include <sys/socket.h>
#include <sys/types.h>
#include <unistd.h>
#include <arpa/inet.h>
#include <stdio.h>



// 创建客户端
int main()
{

 //1.create socket 

  int clifd=socket(AF_INET,SOCK_STREAM,0);
  
//2.客户端建立socket连线

  struct sockaddr_in addr; 
  addr.sin_family=AF_INET;
  addr.sin_port=htons(8000);
  addr.sin_addr.s_addr=inet_addr("127.0.0.1");
  int ret=connect(clifd,(struct sockaddr *)&addr,sizeof(addr));
  if(ret==-1)
  {
     printf("connect failed\n");
     return -1;

  }

 //3. 向客户端发送写的数据
  write(clifd,"hello",6);

// 4.关闭客户端
 close(clifd);


return 0;
}

运行结果:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值