0

主函数()

 int clilen - sizeof(servaddr)
    
    getsockname(sockfd, (struct sockaddr*) &servaddr, clilen)
    
    
    printf()
    
    
    int variable
    
    "int variable = getsockname(syntaxfunction)"

我应该如何为 getsockname() 函数初始化我的变量?

在初始化getsockanme之前我应该​​有int变量声明吗?

我最终将如何将我的变量应用到 printf() 以打印套接字:端口字符串?

client.c:21:14: 错误:初始化元素不是常量 21 | int cliapi = getsockname(servsock, (struct sockaddr *) &servaddr, clilen); | ^~~~~~~~~~~ client.c:26:8: 错误:预期的声明说明符或字符串常量 26 之前的 '...' | printf("%d/n", cliapi); | ^~~~~~ client.c:26:16: 错误: 'cliapi' 26 之前的预期声明说明符或'...' | printf("%d/n", cliapi); | ^~~~~~ client.c:33:1: 错误:预期标识符或 '(' 在 '{' 标记 33 | {

#include <stdio.h>
#include <stdlib.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <string.h>






int clientsock, clicnnct;


clientsock = socket( PF_INET, AF_INET, 0 );




struct sockaddr_in clientserv;


clientserv.sin_family = AF_INET;
clientserv.sin_addr.s_addr = htonl(INADDR_ANY);
clientserv.sin_port = htons(8980);
memset( &clientserv, 0, sizeof(clientserv) );




clicnnct = connect ( clientsock, (struct sockaddr *)&clientserv, sizeof(clientserv ) );



int  cliapi;
  

  
  
cliapi - getsockname(clientsock, (struct sockaddr*)&clientserv,
                sizeof(clientserv) );
                     
                     
                
printf("%d/n",cliapi);      
                
  
                    



send(clientsock, (struct sockaddr*)&clientserv, sizeof(clientserv), 0 );

recv(clientsock, (struct sockaddr*)&clientserv, sizeof(clientserv), 0 );
4

0 回答 0