网友您好, 请在下方输入框内输入要搜索的题目:

题目内容 (请给出正确答案)

下面是一个面向连接的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)处。【说明】代码实例中的服务器通过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 3333define 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);} ” 相关考题
考题 在J2EE中,当使用以某主机地址为参数的构造器来创建新的Socket实例时()。 A.客户端试图通过Internet建立与该主机的链接B.客户端启动运行于主机上的服务器程序C.没有特殊事情发生,直到调用Socket的accept()方法D.调用Socket的accept()方法

考题 在J2EE中,当使用以某主机地址为参数的构造器来创建新的Socket实例时,()。 A.客户端试图通过Internet建立与该主机的连接B.客户端启动运行于主机上的服务器程序C.没有特殊事情发生,直到调用Socket的accept()方法D.调用Socket的accept()方法

考题 阅读以下程序说明和C++程序,将程序段中(1)~(7)空缺处的语句填写完整。[说明]使用MFC的CSocket类在两个或者多个应用程序之间建立通信。服务器应用程序先创建一个特殊的 Socket,用于监听客户应用程序的连接请求,然后再创建新的Socket来完成连接。从客户和服务器两端读取该连接,直到一个需要处理的报文到来为止。以下C++程序将封装这些功能,这样所有应用程序需要完成的只是创建一个Socket连接,然后处理到来的报文。这将包括一个新的服务器Socket类、新客户端Socket类和新的报文队列类。创建新的服务器Socket类程序的框架如下。第1个函数ListenEx()用于通知Socket开始监听客户应用程序。第2个函数OnAccept()在接收到连接请求时被调用。在其中创建新的Socket,并立刻设置它开始从客户应用程序读取报文,这些是通过调用第3个函数RecvThread()来完成的,该函数位于它自己的线程中。[C++程序][ListenEX()函数]

考题 建立Socket类的客户端需要哪些步骤?() A.如果连接成功,则可以通过此Socket对象进行通讯;B.如果连接成功,则重新创建一个Socket对象用于通讯;C.向指定的IP地址和端口号进行连接尝试;D.创建一个Socket对象;E.首先通过网络扫描工具扫描服务器端是否已经开通;

考题 简述Socket通信机制,说明客户端如何与服务器进行连接。

考题 下列语句正确的是:() A.服务器端需要创建监听特定端口的ServerSocket,ServerSocket负责接收客户连接请求 B.ServerSocket()构造函数在一个特定的端口创建一个新的Socket对象 C. accept()方法会返回一个和服务器端Socket对象相连接的Socket实例。 D. socket 会通过调用 bind() 函数来绑定的本地地址及端口。A.服务器端需要创建监听特定端口的ServerSocket,ServerSocket负责接收客户连接请求B.ServerSocket()构造函数在一个特定的端口创建一个新的Socket对象C.accept()方法会返回一个和服务器端Socket对象相连接的Socket实例D.socket 会通过调用 bind() 函数来绑定的本地地址及端口。

考题 在Java的Socket通信机制的有连接的通信方式中,服务器端和客户端分别需要打开输入流和输出流通道。()。

考题 accept返回一个新的文件描述符以代表新到达的TCP连接,而不是利用accept之前创建的socket来操纵所有tcp连接,这样同时有n个连接,则整个系统中至少需要n+1个文件描述符。在UDP通信中可以不这样复杂,服务端只用一个socket就可以同时与多个客户端通信。

考题 在Java的Socket通信机制的无连接的通信方式中,服务器端和客户端分别需要打开输入流和输出流通道。()。