- 论坛徽章:
- 0
|
自己用gcc编译的一个客户/服务器程序执行, 服务器程序执行失败, 自bind这一步失败的, 不说多了, 看代码把
- #include <unistd.h>
- #include <string.h>
- #include <stdlib.h>
- #include <stdio.h>
- #include <sys/socket.h>
- #include <arpa/inet.h>
- #include <string.h>
- int main(int argc, char **argv)
- {
- int filed;
- int n;
- char recv[1024 + 1];
- struct sockaddr_in addr;
- if(argc != 2){
- fprintf(stderr, "arg err\n");
- exit(-1);
- }
- if((filed = socket(AF_INET, SOCK_STREAM, 0)) < 0){
- perror("socket err");
- exit(-1);
- }
- bzero(&addr, sizeof(addr));
- addr.sin_family = AF_INET;
- addr.sin_port = htons(13);
- printf("\n\n%s\n\n", argv[1]);
- if(inet_pton(AF_INET, argv[1], &addr.sin_addr) <= 0){
- perror("inet_pton err");
- exit(-1);
- }
- if(connect(filed, (struct sockaddr *)&addr, sizeof(addr)) < 0){
- perror("connect err");
- exit(-1);
- }
- while((n = read(filed, recv, 1024)) > 0){
- recv[n] = 0;
- if(fputs(recv, stdout) == EOF){
- perror("fputs err");
- exit(-1);
- }
- }
- if(n < 0){
- perror("read err");
- exit(-1);
- }
- exit(0);
- }
复制代码
[ 本帖最后由 yylogo 于 2009-11-9 21:42 编辑 ] |
|