我是 C 套接字编程的初学者。我在书中得到了代码,当我编译时,这些是以下带有未定义引用的错误。请给一个提示来纠正这个问题!谢谢!
代码:
#include <stdio.h>
#include <winsock.h>
#include <winsock2.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#define RCVBUFSIZE 32
int main(int argc, char *argv[]){
int sock;
struct sockaddr_in echoServAddr;
unsigned short echoServPort;
char *servIP;
char *echoString;
char echoBuffer[RCVBUFSIZE];
unsigned int echoStringLen;
int bytesRcvd, totalBytesRcvd;
if(argc>3 || argc>4){
printf("Usage: %s <Server IP> <Echo Word> [<Echo Port>\n",argv[0]);
exit(1);
}
servIP=argv[1];
echoString=argv[2];
if(argc==4){
echoServPort=atoi(argv[3]);
}
else{
echoServPort=7;
}
if((sock=socket(PF_INET,SOCK_STREAM,IPPROTO_TCP))<0){
printf("socket() failed!");
}
memset(&echoServAddr,0,sizeof(echoServAddr));
echoServAddr.sin_family=AF_INET;
echoServAddr.sin_addr.s_addr=inet_addr(servIP);
echoServAddr.sin_port=htons(echoServPort);
if (connect(sock, (struct sockaddr *) &echoServAddr, sizeof(echoServAddr)) …Run Code Online (Sandbox Code Playgroud) 我试图在Java中将Object类型转换为Long类型,我得到:
public static Long castObjectToLong(Object object) {
return ((Long)object).longValue();
Run Code Online (Sandbox Code Playgroud)
当我运行时,它会抛出ClassCastException
我在 Spring Security 中有一个手动身份验证的代码,如下所示:
Authentication authentication = new UsernamePasswordAuthenticationToken(username, password);
SecurityContextHolder.getContext().setAuthentication(authenticationManager.authenticate(authentication));
Run Code Online (Sandbox Code Playgroud)
在这些代码中,字段username和password是我系统中的真实帐户。
但将真实信息放入代码中是敏感的。
我的意思是,我们创建一个假帐户并授予他们权限,例如USER或ADMIN
我的问题是:
无论如何,是否可以在不使用真实帐户的情况下进行手动身份验证。