accept()
- 外文名
- accept()
- 文件包含
- #include <sys/socket.h>
- 原 型
- SOCKET PASCAL accept
- 返回值
- 失败返回-1
表达式简介编辑
例子(c++)编辑
|
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
|
#ifndef UNICODE #defineUNICODE#endif#include <winsock2.h>#include <stdio.h>#include <windows.h>//NeedtolinkwithWs2_32.lib#pragmacomment(lib,"Ws2_32.lib")int wmain(void){ //---------------------- //InitializeWinsock. WSADATAwsaData ; intiResult=WSAStartup(MAKEWORD(2,2),&wsaData); if(iResult!=NO_ERROR) { wprintf(L "WSAStartupfailedwitherror:%ld\n",iResult); return 1 ; } //---------------------- //CreateaSOCKETforlisteningfor //incomingconnectionrequests. SOCKETListenSocket ; ListenSocket=socket(AF_INET,SOCK_STREAM,IPPROTO_TCP); if(ListenSocket==INVALID_SOCKET) { wprintf(L "socketfailedwitherror:%ld\n",WSAGetLastError()); WSACleanup(); return 1 ; } //---------------------- //Thesockaddr_instructurespecifiestheaddressfamily, //IPaddress,andportforthesocketthatisbeingbound. sockaddr_inservice ; service.sin_family=AF_INET ; service.sin_addr.s_addr=inet_addr("127.0.0.1"); service.sin_port=htons(27015); if(bind(ListenSocket, (SOCKADDR*)&service,sizeof(service))==SOCKET_ERROR) { wprintf(L"bindfailedwitherror:%ld\n",WSAGetLastError()); closesocket(ListenSocket); WSACleanup(); return 1 ; } //---------------------- //Listenforincomingconnectionrequests. //onthecreatedsocket if(listen(ListenSocket,1)==SOCKET_ERROR) { wprintf(L"listenfailedwitherror:%ld\n",WSAGetLastError()); closesocket(ListenSocket); WSACleanup(); return 1 ; } //---------------------- //CreateaSOCKETforacceptingincomingrequests. SOCKETAcceptSocket ; wprintf(L "Waitingforclienttoconnect...\n"); //---------------------- //Accepttheconnection. AcceptSocket=accept(ListenSocket,NULL,NULL); if(AcceptSocket==INVALID_SOCKET) { wprintf(L "acceptfailedwitherror:%ld\n",WSAGetLastError()); closesocket(ListenSocket); WSACleanup(); return 1 ; } else wprintf(L "Clientconnected.\n"); //Nolongerneedserversocket closesocket(ListenSocket); WSACleanup(); return 0 ;} |
注释编辑
错误代码编辑
accept()的更多相关文章
- How to accept Track changes in Microsoft Word 2010?
"Track changes" is wonderful and remarkable tool of Microsoft Word 2010. The feature allow ...
- GJM : 中断被Socket.Accept阻塞的线程
原帖地址:http://blog.csdn.net/kingfox/article/details/7233350 原文作者:狐帝 刚刚学习C#,在编写一个网络通讯的程序的时候,遇到了点麻烦.监听代码 ...
- Linux进程间通信(八):流套接字 socket()、bind()、listen()、accept()、connect()、read()、write()、close()
前面说到的进程间的通信,所通信的进程都是在同一台计算机上的,而使用socket进行通信的进程可以是同一台计算机的进程,也是可以是通过网络连接起来的不同计算机上的进程.通常我们使用socket进行网络编 ...
- <input type="file" id="camera" multiple="multiple" capture="camera" accept="image/*"> 上传图片,手机调用相册和摄像头
<input type="file" id="camera" multiple="multiple" capture="ca ...
- 调试 zeromq 发现 accept 死循环
起因:在群里一个同学说使用 zeromq 的时候出了点儿问题,问题描述如下“router连接十几万客户端后,然后把router杀死,重启,这时候zeromq的某个线程99%的cpu,卡死了,再也接受不 ...
- UNIX网络编程-非阻塞connect和非阻塞accept
1.非阻塞connect 在看了很多资料之后,我自己的理解是:在socket发起一次连接的时候,这个过程需要一段时间来将三次握手的过程走完,如果在网络状况不好或者是其他的一些情况下,这个过程需要比较长 ...
- 高性能网络编程(一)----accept建立连接
编写服务器时,许多程序员习惯于使用高层次的组件.中间件(例如OO(面向对象)层层封装过的开源组件),相比于服务器的运行效率而言,他们更关注程序开发的效率,追求更快的完成项目功能点.希望应用代码完全不关 ...
- According to TLD or attribute directive in tag file, attribute test does not accept any expressions
HTTP Status 500 - /WEB-INF/views/emp/list.jsp (line: 30, column: 4) According to TLD or attribute di ...
- input[file]标签的accept=”image/*”属性响应很慢的解决办法
转自:http://blog.csdn.net/lx583274568/article/details/52983693 input[file]标签的accept属性可用于指定上传文件的 MIME类型 ...
- Socket accept failed
启动tomcat显示如下错误: java.net.SocketException: select failed at java.net.PlainSocketImpl.socketAccept(Nat ...
随机推荐
- python2.X和3.X的一些区别【整理中】
1.性能 Py3.0运行 pystone benchmark的速度比Py2.5慢30%.Guido认为Py3.0有极大的优化空间,在字符串和整形操作上可 以取得很好的优化结果. Py3.1性能比P ...
- Ceph性能优化总结(v0.94)
优化方法论 做任何事情还是要有个方法论的,“授人以鱼不如授人以渔”的道理吧,方法通了,所有的问题就有了解决的途径.通过对公开资料的分析进行总结,对分布式存储系统的优化离不开以下几点: 1. 硬件层面 ...
- [转]SpringMVC+Hibernate+Spring 简单的一个整合实例
原文地址:http://langgufu.iteye.com/blog/2088355 下面开始实例,这个实例的需求是对用户信息进行增删改查.首先创建一个web项目test_ssh,目录结构及需要的J ...
- 【NOIP 2004】虫食算
因为一天机房都是断网状态,校内的小V评测这道题总显示Unaccept,所以下午放学后就和xiaoyimi晚上回家自习,来做一做这道题. 搜索+剪枝优化: 一开始我是顺着低位向高位填数,这么暴力在Vij ...
- 阅读 图解HTTP ,读书笔记
阅读它的目的只有一个:就是想了解客户端与服务端的通信是怎么实现的? 数据的存储是怎么实现的? 数据流通过程中遇到什么问题.返回什么状态.该怎么解决? 网络基础 TCP / IP 通常使用 ...
- Redis必须注意的慢查询问题
今天解析服务在查询Redis的Set数据过程中抛出timeout exception,产生异常的方法是: db.SetMembers(key); 这个API返回结果是指定set内的所有kv对象: 解决 ...
- eclipse-插件安装的三种方式
(前两种安装方式以多国语言包的安装为例) 1. 普通安装:用直接解压的安装方式来实现 解压插件到某个文件夹 将下载的插件文件解压到 Eclipse 的安装目录下 如插件文件为多国语言包: NLpac ...
- hashMap的输出是和加入元素的顺序一样的吗?
hashMap是无序的,同时也不是先进先出的.
- ASP.NET MVC html help
public static class HtmlHelper { /// <summary> /// 返回没有边框的只读的TextBox标签 /// </summary> // ...
- 二叉查找树 C++实现(含完整代码)
一般二叉树的查找是通过遍历整棵二叉树实现,效率较低.二叉查找树是一种特殊的二叉树,可以提高查找的效率.二叉查找树又称为二叉排序树或二叉搜索树. 二叉查找树的定义 二叉排序树(Binary Search ...