2 happy xiaofengfeng happy_xiaofengfeng 于 2014.10.26 14:53 提问

我想问问这个程序中用了什么算法

#include
#include
#pragma comment(lib,"ws2_32.lib")

int main(int argc, char **argv)
{
//创建套接字
WORD myVersionRequest;
WSADATA wsaData;
myVersionRequest = MAKEWORD(1, 1);
int err;
err = WSAStartup(myVersionRequest, &wsaData);
if (!err)
{
printf("已打开套接字\n");
}
else
{
printf("ERROR:嵌套字未打开!");
return 1;
}
//进一步绑定套接字
SOCKET serSocket = socket(AF_INET, SOCK_STREAM, 0);//创建了可识别套接字

//需要绑定的参数
SOCKADDR_IN addr;
addr.sin_family = AF_INET;
addr.sin_addr.S_un.S_addr = htonl(INADDR_ANY);//ip地址
addr.sin_port = htons(6000);//绑定端口

bind(serSocket, (SOCKADDR*)&addr, sizeof(SOCKADDR));//绑定完成
listen(serSocket, 5);//其中第二个参数代表能够接收的最多的连接数

//////////////////////////////////////////////////////////////////////////
//开始进行监听
//////////////////////////////////////////////////////////////////////////
SOCKADDR_IN clientsocket;
int len = sizeof(SOCKADDR);
while (1)
{
    SOCKET serConn = accept(serSocket, (SOCKADDR*)&clientsocket, &len);//如果这里不是accept而是conection的话。。就会不断的监听
    char sendBuf[100];

    sprintf_s(sendBuf, "hello, %s !", inet_ntoa(clientsocket.sin_addr));//找对对应的IP并且将这行字打印到那里
    printf("Send:%s\n", sendBuf);
    send(serConn, sendBuf, strlen(sendBuf) + 1, 0);

    char receiveBuf[100];//接收
    recv(serConn, receiveBuf, sizeof(receiveBuf), 0);
    printf("recv:%s\n", receiveBuf);

    closesocket(serConn);//关闭
    WSACleanup();//释放资源的操作
    return 0;
}
return 1;

}

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
《1988,我想和这个世界谈谈》读后感
一个人没事的时候,总喜欢在当当或者卓越网上逛逛,看看是否有什么值得一看的书。 从第一次在当当上看见韩寒的《1988,我想和这个世界谈谈》这本书时,心中顿生疑惑。这个世界如此复杂多变,韩寒一直以说真话,文笔犀利而著称,那么他到底要和这个世界谈什么呢,即使要谈,那么该如何去谈,以何种方式去谈?这本书的标题一开始让我想到了许多许多。于是乎处于好奇心,买下这本书,一来可以打发无聊的业余时间,二来一瞧个究竟
关于Release Management
<br /> <br /> <br /> <br />什么是release management?<br />简单的说就是管理软件的发布和更新。这是一个相对比较新但是在软件工程领域中发展相对迅速的一个方面<br /> <br /> <br /> <br />为什么需要release management?<br /> 1 软件资源,软件开发过程以及开发人员的分散化,导致软件发布管理的复杂化。比如在全球化协作的环境下开发,开发人员分布在全球各个不同的site,每天都有不同的人在对软件的code 进行更新和修
nyoj-1063 生活的烦恼
测试的是对二叉树的建立 及处理 代码#include #include #include #include using namespace std; const int max=100000; typedef struct BiNode{ string data; struct BiNode *lchild,*rchild; }BiTNode,*BiTree; string temp; i
1988-我想和这个世界谈谈
1988-我想和这个世界谈谈 当我的生命里只能讲一个故事的时候,我愿将这个故事说出来,这个故事平淡无奇,平铺直叙,既没有曲折,也没有高潮,也就是寻找,相识,分开,就如同走在路上看见一盏红绿灯一样稀松平常,但若驻足,你会发现,它永远闪着黄灯。我就一直看着这盏信号灯,在灯下等了很久,始终不知道黄灯结束以后将要亮起的是红色还是绿色,一直等成了一个红绿色盲。(《1988》) 1988,我想和这个世界谈
猜数字 很多人都玩过这个游戏:甲在心中想好一个数字,乙来猜。 每猜一个数字,甲必须告诉他是猜大了,猜小了,还是刚好猜中了。
/* 猜数字 很多人都玩过这个游戏:甲在心中想好一个数字,乙来猜。 每猜一个数字,甲必须告诉他是猜大了,猜小了,还是刚好猜中了。 下列的代码模拟了这个过程。其中用户充当甲的角色,计算机充当乙的角色。 为了能更快地猜中,计算机使用了二分法。 阅读分析代码,填写缺失的部分。 把填空的答案(仅填空处的答案,不包括题面)存入考生文件夹下对应题号的“解答.txt”中即可。 */ import
(一)图像坐标:我想和世界坐标谈谈(A) 【计算机视觉学习笔记--双目视觉几何框架系列】
玉米竭力用轻松具体的描述来讲述双目三维重建中的一些数学问题。希望这样的方式让大家以一个轻松的心态阅读玉米的《计算机视觉学习笔记》双目视觉数学架构系列博客。这个系列博客旨在捋顺一下已标定的双目视觉中的数学主线。数学推导是有着几分枯燥的,但奇妙的计算机视觉世界是建立在严密的数学架构之上的。所以对数学框架的理解是理解双目视觉的必由之路。不过请大家放心,接下来玉米会以尽量有趣,尽量更接地气儿的方式,阐释一
如何找到自动化测试的思路和理解自动化测试过程中的问题
要找到自动化测试的思路,首先得明确自动化测试的本质。对自动化测试的本质的理解不同,导致了在进行自动化测试过程中对于组建团队、制定目标计划等的不同,决定了最终自动化测试的实施和效果的不同。所以必须先把自动化测试的本质说明白。     谈本质的问题,每个人的理解是不尽相同的。咱们这里说的自动化测试的本质,主要基于对 “人工被机械替代 ” 的理解:随着工业时代的开启,“人工被机械替代”已成为很普遍
CCF CSP 中间数
CCF CSP 中间数
我有一个集合,如下,请问,我想判断里面有没有"world"这个元素,如果有,我就添加一个"javaee"元素,请写代码实现。
package cn.itcast_04; import java.util.ArrayList; import java.util.Iterator; import java.util.List; import java.util.ListIterator; /*  * 问题?  * 我有一个集合,如下,请问,我想判断里面有没有"world"这个元素,如果有,我就添
《鸟哥的Linux私房菜 基础学习篇(第三版)》习题与解析(四)
第四部分 Linux使用者管理 第14章 Linux账号管理与ACL权限设置 ·root的UID与GID是多少?基于这个理由,我要让test这个账号具有root的权限,应该怎么做? 答:root的UID与GID都是0,UID只有0和非0两种,0代表系统管理员。所以要让test这个账号具有root的权限,只要把test的UID和GID都改为0即可。 ·假设我是一个系统管理员,我有一个