zcl(最灿烂的我们)
2023-10-17
今天给各位分享zcl的知识,其中也会对zclient注册进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
钟辰乐名字缩写是zcl。
钟辰乐,艺名Chenle,2001年11月22日出生于中国上海,北音附中(北京市现代音乐学校)2017级学生,在韩国发展的中国籍男歌手,男子演唱组合NCT、NCT DREAM成员。
2009年,钟辰乐参加哈哈少儿频道举办的音悦精灵声乐赛季选拔赛并荣获亚军及“活力精灵奖”。
2011年2月,随奥中文化交流协会一起赴维也纳参加中奥建交40周年的中国新春音乐会,成为在维也纳金色大厅开唱的最小的歌者。
2014年2月12日,钟辰乐在上海举办首场个人演唱会“乐有你在”。
2016年8月25日,钟辰乐随组合NCT DREAM登Mnet音乐节目《M! Countdown》表演出道舞台,正式宣告出道。
钟辰乐的人物评价
钟辰乐拥有清脆的童音,虽然年龄小,但是他功力稳定乐感好,在舞台上表演也落落大方。钟辰乐拥有第一天籁童音,他可以用极具穿透力的嗓音和稳健的台风完美的驾驭演唱会舞台,他的演出大气、震撼人心,可以用独特的吸引力征服观众。
钟辰乐十分可爱淘气,他拥有10代青少年特有的能量,是实力与魅力兼备的有望主,钟辰乐具有灵魂的舞台表演与音乐,可以狙击到10代少年的心灵。
JZL1(3)350*600Y(Y基本上代表加掖)*8@200(4)(箍筋)B4*22;T4*20(B代表下部BOTTOM,T则表示上部TOP)N2*12;L*8@400(N受扭构造筋,L表示拉接构造筋)Y*12@200;*8@200(Y则是加掖做法,12的主筋,8的箍筋)
C++通过socket编程实现服务端与客户端的通讯,代码如下(个人环境下测试正常,如果遇到运行send发送报错,请检查服务器端口是否被占用,调试的时候请先运行服务端程序在运行客服端,一定要加载库函数ws2_32.lib,发送字符时应该多加一个空字符作为结束字符):
服务器端程序:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
// Server.cpp : Defines the entry point for the console application.
#include "winsock2.h"
#pragma comment(lib, "ws2_32.lib")
#include iostream
using namespace std;
int main(int argc, char* argv[])
{
const int BUF_SIZE = 64;
WSADATA wsd; //WSADATA变量
SOCKET sServer; //服务器套接字
SOCKET sClient; //客户端套接字
SOCKADDR_IN addrServ;; //服务器地址
char buf[BUF_SIZE]; //接收数据缓冲区
char sendBuf[BUF_SIZE];//返回给客户端得数据
int retVal; //返回值
//初始化套结字动态库
if (WSAStartup(MAKEWORD(2,2), wsd) != 0)
{
cout "WSAStartup failed!" endl;
return 1;
}
//创建套接字
sServer = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
if(INVALID_SOCKET == sServer)
{
cout "socket failed!" endl;
WSACleanup();//释放套接字资源;
return -1;
}
//服务器套接字地址
addrServ.sin_family = AF_INET;
addrServ.sin_port = htons(4999);
addrServ.sin_addr.s_addr = INADDR_ANY;
//绑定套接字
retVal = bind(sServer, (LPSOCKADDR)addrServ, sizeof(SOCKADDR_IN));
if(SOCKET_ERROR == retVal)
{
cout "bind failed!" endl;
closesocket(sServer); //关闭套接字
WSACleanup(); //释放套接字资源;
return -1;
}
//开始监听
retVal = listen(sServer, 1);
if(SOCKET_ERROR == retVal)
{
cout "listen failed!" endl;
closesocket(sServer); //关闭套接字
WSACleanup(); //释放套接字资源;
return -1;
}
//接受客户端请求
sockaddr_in addrClient;
int addrClientlen = sizeof(addrClient);
sClient = accept(sServer,(sockaddr FAR*)addrClient, addrClientlen);
if(INVALID_SOCKET == sClient)
{
cout "accept failed!" endl;
closesocket(sServer); //关闭套接字
WSACleanup(); //释放套接字资源;
return -1;
}
while(true)
{
//接收客户端数据
ZeroMemory(buf, BUF_SIZE);
retVal = recv(sClient, buf, BUF_SIZE, 0);
if (SOCKET_ERROR == retVal)
{
cout "recv failed!" endl;
closesocket(sServer); //关闭套接字
closesocket(sClient); //关闭套接字
WSACleanup(); //释放套接字资源;
return -1;
}
if(buf[0] == '0')
break;
cout "客户端发送的数据: " buf endl;
cout "向客户端发送数据: " ;
cin sendBuf;
send(sClient, sendBuf, strlen(sendBuf), 0);
}
//退出
closesocket(sServer); //关闭套接字
closesocket(sClient); //关闭套接字
WSACleanup(); //释放套接字资源;
return 0;
}
客户端程序:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
#include "winsock2.h"
#include iostream
#pragma comment(lib, "ws2_32.lib")
using namespace std;
BOOL RecvLine(SOCKET s, char* buf); //读取一行数据
int main(int argc, char* argv[])
{
const int BUF_SIZE = 64;
WSADATA wsd; //WSADATA变量
SOCKET sHost; //服务器套接字
SOCKADDR_IN servAddr; //服务器地址
char buf[BUF_SIZE]; //接收数据缓冲区
char bufRecv[BUF_SIZE];
int retVal; //返回值
//初始化套结字动态库
if (WSAStartup(MAKEWORD(2,2), wsd) != 0)
{
cout "WSAStartup failed!" endl;
return -1;
}
//创建套接字
sHost = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
if(INVALID_SOCKET == sHost)
{
cout "socket failed!" endl;
WSACleanup();//释放套接字资源
return -1;
}
//设置服务器地址和端口
servAddr.sin_family =AF_INET;
servAddr.sin_addr.s_addr = inet_addr("127.0.0.1");
servAddr.sin_port = htons((short)4999);
int nServAddlen = sizeof(servAddr);
//连接服务器
retVal=connect(sHost,(LPSOCKADDR)servAddr, sizeof(servAddr));
if(SOCKET_ERROR == retVal)
{
cout "connect failed!" endl;
closesocket(sHost); //关闭套接字
WSACleanup(); //释放套接字资源
return -1;
}
while(true)
{
//向服务器发送数据
ZeroMemory(buf, BUF_SIZE);
cout " 向服务器发送数据: ";
cin buf;
retVal = send(sHost, buf, strlen(buf), 0);
if (SOCKET_ERROR == retVal)
{
cout "send failed!" endl;
closesocket(sHost); //关闭套接字
WSACleanup(); //释放套接字资源
return -1;
}
//RecvLine(sHost, bufRecv);
ZeroMemory(bufRecv, BUF_SIZE);
recv(sHost, bufRecv,BUF_SIZE , 0); // 接收服务器端的数据, 只接收5个字符
cout endl "从服务器接收数据:" bufRecv;
cout"\n";
}
//退出
closesocket(sHost); //关闭套接字
WSACleanup(); //释放套接字资源
return 0;
}
关于zcl和zclient注册的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。
版权声明:本文内容由互联网用户自发贡献,本站不拥有所有权,不承担相关法律责任。如果发现本站有涉嫌抄袭的内容,欢迎发送邮件至举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。
标签: #zcl
相关文章
2023-10-17