- 论坛徽章:
- 0
|
以下是clinet端的源代码
#include "unp.h"
main( int argc, char **argv )
{
int sockfd, n;
char recvline[MAXLINE+1];
struct sockaddr_in servaddr;
/*struct sockaddr_in{
* short int sin_family;
* unsigned short int sin_port;
* struct in_addr sin_addr;
* unsigned char sin_zero[8];
*/
struct hostent *he;
if ( argc != 2 )
{
fprintf(stderr,"usage: a.out <IPaddress>");
}
if((he=gethostbyname(argv[1])) == NULL)
{
herror("gethostbyname");
exit(1);
}
if (( sockfd = socket(AF_INET,SOCK_STREAM,0)) < 0 )
{
perror("socket error" );
}
memset( &servaddr, 0, sizeof(servaddr));
//bzero( &servaddr, sizeof(servaddr))
servaddr.sin_family = AF_INET;
servaddr.sin_port = htons(9120);
if ( connect( sockfd, (SA *)&servaddr, sizeof( servaddr)) < 0 )
{
perror("connect error" );
}
while(( n= read(sockfd, recvline, MAXLINE)) > 0 )
{
recvline[n] = 0; //null terminate
if (fputs(recvline, stdout) == EOF )
{
perror("fputs error");
}
}
if (n<0)
{
perror("read error");
}
exit(0);
}
其实也就是unp里面的第一个程序。。
可是我在编译的时候老是出现 。。段错误 还清帮忙解释下
bat@bat-desktop:~/legend/socket/unp$ daytimetcpcli
usage: a.out <IPaddress>段错误
bat@bat-desktop:~/legend/socket/unp$ daytimetcpcli 127.0.0.1
connect error: Connection refused
read error: Transport endpoint is not connected
...... |
|