23,125
社区成员
发帖
与我相关
我的任务
分享
#include<sys/types.h>
#include<sys/socket.h>
#include<netdb.h>
#include<netinet/in.h>
#include<string.h>
#include<stdio.h>
#include<stdlib.h>
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;
//建立Socket
server_sockfd=socket(AF_INET,SOCK_STREAM,0);
if(server_sockfd<0)
printf("Create FAlSE\n");
printf("server_sockfd:%d\n",server_sockfd);
//端口号等
server_address.sin_family=AF_INET;
server_address.sin_port=htons(12345);
server_address.sin_addr.s_addr=htonl(INADDR_ANY);
server_len=sizeof(server_address);
//绑定
int bindinfo=bind(server_sockfd,(struct sockaddr *)&server_address,server_len);
printf("bind:%d\n",bindinfo);
//监听
int listeninfo=listen(server_sockfd,5);
printf("listen:%d\n",listeninfo);
//等待客户端链接
printf("server waiting\n");
client_len=sizeof(client_address);
client_sockfd=accept(server_sockfd,(struct sockaddr *)&client_address,&client_len);
printf("client_sockfd:%d\n",client_sockfd);
//收到数据并返回
char str[100];
int tmp=read(client_sockfd,str,100);
str[tmp]=0;
printf("read:%s\n",str);
write(client_sockfd,str,tmp);
close(client_sockfd);
close(server_sockfd);
//退出
//return 0;
exit(0);
}
#include<sys/types.h>
#include<sys/socket.h>
#include<netinet/in.h>
#include<string.h>
#include<stdio.h>
#include<errno.h>
#include<stdlib.h>
int main( int argc, char *argv[] )
{
int conn_sockfd;
int conn_len;
struct sockaddr_in conn_address;
//Create Socket
conn_sockfd=socket(AF_INET,SOCK_STREAM,0);
//IP Port so on
conn_address.sin_family=AF_INET;
conn_address.sin_port=htons(12345);
conn_address.sin_addr.s_addr=inet_addr("127.0.0.1");
conn_len=sizeof(conn_address);
//connect
int conninfo=connect(conn_sockfd,(struct sockaddr *)&conn_address,conn_len);
printf("connect:%d\n",conninfo);
if(conninfo!=0) {
printf("errno:%s\n",strerror(errno));
return 1;
}
//recv send
send(conn_sockfd,argv[1],strlen(argv[1]),0);
char str[100];
int num=recv(conn_sockfd,str,100,0);
str[num]=0;
printf("recv[%d]:%s\n",num,str);
//close
close(conn_sockfd);
//return 0;
exit(0);
}