概述
TCP编程模型:
服务器端程序
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<unistd.h>
#include<sys/types.h>
#include<sys/socket.h>
#include<netinet/in.h>/*定义了struct sockaddr_in*/
void main()
{
int sockfd;
/*创建socket*/
sockfd=socket(AF_INET,SOCK_STREAM,0);
if(sockfd==-1)
{
printf("create socket false");
exit(1);
}
/*绑定地址*/
struct sockaddr_in server_addr;
server_addr.sin_family=AF_INET;
server_addr.sin_port=htons(5000);
server_addr.sin_addr.s_addr=htonl(INADDR_ANY);
if(bind(sockfd,(const struct sockaddr *)(&server_addr),sizeof(server_addr))==-1)
{
printf("bind false");
exit(1);
}
/*监听端口*/
listen(sockfd,3);
/*等待连接*/
int newfd;
struct sockaddr_in client_addr;
int addrlen=sizeof(client_addr);
newfd=accept(sockfd,(struct sockaddr *)(&client_addr),&addrlen);
/*收发数据*/
char buf[128];
recv(newfd,buf,128,0);
printf("the message is from :%sn",inet_ntoa(client_addr.sin_addr));
printf("the message received is %sn",buf);
/*结束连接*/
close(newfd);
close(sockfd);
}
客户端程序
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<unistd.h>
#include<sys/types.h>
#include<sys/socket.h>
#include<netinet/in.h>/*定义了struct sockaddr_in*/
void main()
{
/*创建socket*/
int sockfd=socket(AF_INET,SOCK_STREAM,0);
if(sockfd==-1)
{
printf("create socket false");
exit(1);
}
/*连接服务器*/
struct sockaddr_in server_addr;
server_addr.sin_family=AF_INET;
server_addr.sin_port=htons(5000);
server_addr.sin_addr.s_addr=inet_addr("192.168.137.246");
if(connect(sockfd,(const struct sockaddr *)(&server_addr),sizeof(server_addr))==-1)
{
printf("connect false");
exit(1);
}
/*收发数据*/
printf("please enter your messagen");
char buf[128];
scanf("%s",buf);
send(sockfd,buf,128,0);
/*结束连接*/
close(sockfd);
}
最后
以上就是深情小笼包为你收集整理的TCP通讯程序设计的全部内容,希望文章能够帮你解决TCP通讯程序设计所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复