- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
更新企业用的通用单链表操作实例代码
目的:1、帮助大家对单链表的创建、增、删、改、查、逆置、内存释放的了解和熟悉
2、可以结合每一次操作的示意图来帮助理解单链表的操作
3、这个是传统的单链表操作,后面还会更新企业用的通用单链表操作实例代码和Linux系统下的单链表操作思想
[代码] Server端
// server.cpp : Defines the entry point for the console application.
//
#include stdafx.h
#include winsock2.h
#include Windows.h
#includeconio.h
#pragma comment (lib, ws2_32.lib) //加载 ws2_32.dll
int g_postion = 1;
CRITICAL_SECTION gcc;
void gotoxy(int x, int y);
COORD get_xy();
void ClearScreen(void);
void ClearScreen1(void);
DWORD WINAPI sendCustmer(LPVOID);
DWORD WINAPI displayServer(LPVOID);
//oc中block的简介 ,OS饼状图,环形图
//PickerView的封装
//OC之简单的登陆界面
int main()
{
system(cls);
HANDLE hThread1 = NULL;
HANDLE hThread2 = NULL;
HANDLE hOut;
hOut = GetStdHandle(STD_OUTPUT_HANDLE);
WORD att = FOREGROUND_RED|FOREGROUND_GREEN|FOREGROUND_INTENSITY|BACKGROUND_BLUE;
SetConsoleTextAttribute(hOut, att);
SMALL_RECT rc = {0, 0, 80, 25};
SetConsoleWindowInfo(hOut, true,rc);
SetConsoleTitle(LThe Chat Tools );
ClearScreen();
InitializeCriticalSection(gcc);
hThread2 = CreateThread(NULL, NULL, sendCustmer, NULL, NULL, NULL);
hThread1 = CreateThread(NULL, NULL, displayServer, NULL, NULL, NULL);
HANDLE tHandle[] = {hThread1, hThread2};
WaitForMultipleObjects(2, tHandle, true, INFINITE);
DeleteCriticalSection(gcc);
WSACleanup();
CloseHandle(hThread1);
CloseHandle(hThread2);
}
DWORD WINAPI sendCustmer(LPVOID lpParameter)
{
WSADATA wsaData;
WSAStartup(MAKEWORD(2, 2), wsaData);
//向服务器发起请求
sockaddr_in sockAddr;
memset(sockAddr, 0, sizeof(sockAddr)); //每个字节都用0填充
sockAddr.sin_family = PF_INET;
sockAddr.sin_addr.s_addr = inet_addr(3);
//sockAddr.sin_addr.s_addr = htonl(INADDR_ANY);
sockAddr.sin_port = htons(1234);
char SendBuffer[MAXBYTE];
while (1)
{
SOCKET sock;
do
{
sock = socket(PF_INET, SOCK_STREAM, IPPROTO_TCP);
if (0 != connect(sock, (SOCKADDR*)
原创力文档


文档评论(0)