[试题]

下面是一个面向连接的SOCKET实例,填入(n)处。

(说明)

代码实例中的服务器通过socket连接向客户端发送字符串"Hello,you are connected!"。只要在服务器上运行该服务器软件,在客户端运行客户软件,客户端就会收到该字符串。

客户端程序代码如下:

include<stdio.h>

include<stdlib.h>

include<errno.h>

include<string.h>

include<netdb.h>

include<sys/types.h>

include<netinet/in.h>

include<sys/socket.h>

define SERVPORT 3333

define MAXDATASIZE 100 /*每次最大数据传输量*/

main(int argc, char*argv[]){

int sockfd, recvbytes;

char buf[MAXDATASIZE];

stmct hostent*host;

struct sockaddr_in serv_addr;

if (1) {

fprintf(stderr, "Please enter the server's hostname!/n");

exit(1);

}

if<(host=gethostbyname(argv[1]))=NULL) {

herror("gethostbyname出错!");

exit(1);

}

if ((sockfd = socket(AF_INET, (2), 0))=-1) {

perror("socket创建出错!");

exit(1);

}

serv_addr.sin_family=AF_INET;

serv_addr.sin_port=htons(SERVPORT);

Serv_addr.sin_addr=*((structin_addr*)host→h_addr);

bzero(&(serv_addr.sin_zero), 8);

if(connect (3), (struct sockaddr *)&serv_addr, /

sizeof(struct sockaddr))=-1) {

perror("connect出错!");

exit(1);

}

if((recvbytes=recv (4), buf, MAXDATASIZE, 0))=-1) {

perror("recv出错!");

exit(1);

}

buf[recvbytes]='/0';

pfintf("Received: %s", buf);

close(sockfd);

}

参考答案与解析:

相关试题

下面是一个面向连接的SOCKET实例,填入(n)处。 (说明) 代码实例中的服务