面向连接的socket通信实现
面向连接的socket通信实现
2010年12月26日
面向连接的socket通信实现
/****************************************************
* 文件名称:server.c
* 简要描述:创建socket套接字,监听和接受客户端的请求
****************************************************/
#include
#include
#include
#include
#include
#include
#include
int main(int argc,char *argv[])
{
int server_sockfd, client_sockfd;//服务器套接字和连接套接字
int server_len, client_len;
struct sockaddr_in server_address;//服务器的信息
struct sockaddr_in client_address;
int i,byte;
char char_recv,char_send;
server_sockfd = socket(AF_INET, SOCK_STREAM, 0);//创建套接字
server_address.sin_family = AF_INET;//服务器的信息
server_address.sin_addr.s_addr = inet_addr("219.222.170.9");
server_address.sin_port = 9734;
server_len = sizeof(server_address);
bind(server_sockfd, (struct sockaddr *)&server_address, server_len);//绑定套接字
listen(server_sockfd, 5);//监听客户端请求,队列长度为5
printf("server waiting for connect\n");
client_len = sizeof(client_address);
client_sockfd = accept(server_sockfd,(struct sockaddr *)&client_address, (socklen_t *)&client_len);//接受客户端的请求
for(i=0,char_send='1';i
#include
#include
#include
#include
#include
#include
int main(int argc,char *argv[])
{
int sockfd;
int len;
struct sockaddr_in address;
int result;
int i,byte;
char char_recv,char_send;
if((sockfd = socket(AF_INET, SOCK_STREAM, 0))==-1)
{
perror("socket");
exit(EXIT_FAILURE);
}
address.sin_family = AF_INET;//服务器的信息
address.sin_addr.s_addr = inet_addr("219.222.170.9");
address.sin_port = 9734;
len = sizeof(address);
if((result = connect(sockfd, (struct sockaddr *)&address, len))==-1)//申请连接服务器
{
perror("connect");
exit(EXIT_FAILURE);
}
for(i=0,char_send='A';i<5;i++,char_send++)
{
if((byte=send(sockfd,&char_send,1,0))==-1)//发送数据
{
perror("send");
exit(EXIT_FAILURE);
}
if((byte=recv(sockfd,&char_recv,1,0))==-1)//接受数据
{
perror("recv");
exit(EXIT_FAILURE);
}
printf("receive from server %c\n",char_recv);
}
close(sockfd);
exit(0);
}
$gcc server.c
猜你喜欢
转载自cug017zq.iteye.com/blog/1353647
今日推荐
周排行