- 论坛徽章:
- 0
|
客户端在connect的时候联不上啊 这是为什么呢?
服务器端
#include <sys/types.h>
#include <sys/socket.h>
#include <linux/in.h>
#include <linux/inet.h>
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#define MY_PORT 5100
int main()
{
int sock_serv,new_fd;
unsigned int sin_size;
struct sockaddr_in host_addr, remo_addr;
sock_serv = socket(AF_INET, SOCK_STREAM, 0);/*....socket*/
if(sock_serv != -1)
printf("Socket created OK\n");
else
exit(1);
printf("sock_serv : %d\n ", sock_serv);
bzero(&host_addr,sizeof(host_addr));
host_addr.sin_family = AF_INET;/*.....socket..*/
host_addr.sin_addr.s_addr = inet_addr("10.60.10.250");
host_addr.sin_port = htons(MY_PORT);
if(bind(sock_serv,(struct sockaddr *)&host_addr,sizeof(struct sockaddr))!=-1)
printf("Binded OK\n");
else{
printf("Bind failure!\n");
exit(1);
}
if(listen(sock_serv,3)!=-1)
printf("listening\n");
else{
printf("listen failure!\n");
exit(1);
}
while(1){
sin_size = sizeof(struct sockaddr);
new_fd = accept(sock_serv, (struct sockaddr *)&remo_addr, &sin_size);
if(new_fd!=-1){
printf("Acepted OK\n");
printf("server:Get connection from %s\n", inet_ntoa(remo_addr.sin_addr));
}
else{
printf("accept failure!\n");
exit(1);
}
}
}
客户端
#include <sys/types.h>
#include <sys/socket.h>
#include <linux/in.h>
#include <linux/inet.h>
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main()
{
int sock_cli;
struct sockaddr_in serv_addr;
sock_cli = socket(AF_INET,SOCK_STREAM,0);
if(sock_cli != -1)
printf("Socket created OK\n");
else{
printf("socket failure!\n");
exit(1);
}
printf("sock_cli = %d \n", sock_cli);
bzero(&serv_addr, sizeof(serv_addr));
serv_addr.sin_family = AF_INET;
serv_addr.sin_port = htons(5100);
serv_addr.sin_addr.s_addr = inet_addr("10.60.10.250");
if(connect(sock_cli, (struct sockaddr*)&serv_addr, sizeof(struct sockaddr)) != -1)
printf("Connected OK\n");
else{
printf("connect failure!\n");
exit(1);
}
} |
|