?? s5authclient.c
字號:
/* * * File : S5AuthClient.c * Author: NieJun * Mail : yhniejun@163.com * Date : 2008/10/23 * */#include "S5AuthClient.h"char *serv_addr = "127.0.0.1";int serv_port = 1898;int main(int argc, char **argv, char **envp){ int sockfd; int conn; int send_size = 0; int recv_len; char *pBuf; char name[MAX_NAME_LEN] = {0}; char passwd[MAX_PASSWD_LEN] = {0}; char recv_buffer[MAX_BUFFER_SIZE] = {0}; char send_buffer[MAX_BUFFER_SIZE] = {0}; struct sockaddr_in servaddr; unsigned short auth_opt = 0; unsigned char name_len; unsigned char passwd_len; unsigned char tail = ';'; pBuf = send_buffer; if (argc < 3) { printf("Please input username and password\n"); exit(1); } name_len = sprintf(name, "%s", argv[1]); passwd_len = sprintf(passwd, "%s", argv[2]); //printf("Name [%s], Password [%s]\n", name, passwd); sockfd = socket(AF_INET, SOCK_STREAM, 0); memset(&servaddr, 0, sizeof(servaddr)); servaddr.sin_family = AF_INET; servaddr.sin_port = htons(serv_port); inet_pton(AF_INET, serv_addr, &servaddr.sin_addr); conn = connect(sockfd, (struct sockaddr *)&servaddr, sizeof(servaddr)); //printf("Name len [%d], passwd len [%d]\n", name_len, passwd_len); auth_opt = 0x0101; //This tell server user login memcpy(pBuf, &auth_opt, sizeof(unsigned short)); pBuf += sizeof(unsigned short); send_size += sizeof(unsigned short); memcpy(pBuf, &name_len, sizeof(unsigned char)); pBuf += sizeof(unsigned char); send_size += sizeof(unsigned char); memcpy(pBuf, name, name_len); pBuf += name_len; send_size += name_len; memcpy(pBuf, &passwd_len, sizeof(unsigned char)); pBuf += sizeof(unsigned char); send_size += sizeof(unsigned char); memcpy(pBuf, passwd, passwd_len); pBuf += passwd_len; send_size += passwd_len; memcpy(pBuf, &tail, sizeof(unsigned char)); send_size += sizeof(unsigned char); send(sockfd, send_buffer, send_size, 0); recv_len = recv(sockfd, recv_buffer, MAX_BUFFER_SIZE, 0); if (recv_len <= 0) { printf("Server not response\n"); close(sockfd); exit(1); } recv_buffer[recv_len] = '\0'; close(sockfd); //printf("Server Res [%s]\n", recv_buffer); //printf("Send [%s], size [%d], send size [%d]\n", send_buffer, sizeof(send_buffer), send_size); printf("%s", recv_buffer); return 0;}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -