Socket 错误总结
错误
因为并没有搞清楚accept函数的使用,所以导致不停的发送失败,同时还不知道错误在哪里,无意中看见errno这个库,可以记录错误的原因,才知道原因在于没有用客户端的套接字进行接收数据,而这个客户端的套接字可以通过accept函数返回,但是我什么都没有处理!
看一下accept的函数吧
int accept(int sockfd, struct sockaddr *addr, socklen_t *addrlen);
accept函数的第一个参数为服务器的socket描述字,第二个参数为指向struct sockaddr *的指针,用于返回客户端的协议地址,第三个参数为协议地址的长度。如果accpet成功,那么其返回值是由内核自动生成的一个全新的描述字,代表与返回客户的TCP连接。
所以我
将其封装成两个重要的函数,分别是服务器接收到客户端,客户端连接服务端这两个函数,这两个实现了服务端和客户端的功能~
/**
* 返回接收的客户端
*/
TCP* TCP::accept_client(Address& naddress) {
this->tcreate();
this->setAddress(naddress);
this->bind();
this->listen();
SOCKET client = this->accept();
TCP * _client = TCP::createInstance();
_client->socket = client;
_client->isClient = true;
_client->isCreated = true;
_client->isConnected = true;
this->close();
return _client;
}
/**
* 连接服务器
*/
void TCP::connect_server(Address& naddress) {
this->tcreate();
this->setAddress(naddress);
this->connect();
this->isClient = true;
this->isCreated = true;
this->isConnected = true;
}
Socket 错误总结的更多相关文章
- 解决ftp连接出现 无法从控制 Socket 读取。Socket 错误 = #10054。
ftp连接会显示以下错误信息 无法从控制 Socket 读取.Socket 错误 = #10054 或者是这样的信息 Opening data channel for directory list.T ...
- Socket 错误一览表
出现网络联机错误Socket error #11001 表示您的计算机无法连上服务器,请检查您的Proxy设定以及Proxy相关账号,或暂时取消您防毒软件的「个人防火墙」. · 出现网络联机错误Soc ...
- [Microsoft][SQLServer 2000 Driver for JDBC]Error establishing socket错误解决方法总结
今天做一个特殊的业务处理,用JDBC连接SQLServer数据库载入驱动的时候,报例如以下错误: java.sql.SQLException: [Microsoft][SQLServer 2000 D ...
- Socket错误详解及处理方法
例如错误代码10061, 说明服务器已经找到,但连接被服务器拒绝, 连接失败原因可能是: 端口号设置错误: 2.服务器没有处于监听状态 (即ServerSocket –>Active=true) ...
- socket 错误之:OSError: [WinError 10057] 由于套接字没有连接并且(当使用一个 sendto 调用发送数据报套接字时)没有提供地址,发送或接收数据的请求没有被接受。
出错的代码 #server端 import socket import struct sk=socket.socket() sk.bind(('127.0.0.1',8080)) sk.listen( ...
- 文件上传时出现 Processing of multipart/form-data request failed. Unexpected EOF read on the socket错误
上传时一直出现这个错误,修改tomcat的server.xml文件,更改tomcat版本,也查阅了网上的很多解决办法,都不能解决问题. 后在stackoverflow的一篇文章上找到了解决方法: 加上 ...
- Redis启动出现creating server tcp listening socket错误
错误如图所示 解决方法 在命令行中运行 redis-cli.exe 127.0.0.1:6379>shutdown not connected>exit 然后重新运行redis-serve ...
- flashfxp 数据socket错误 连接已超时 filezilla
最近windows server 开启了防火墙后发现flashfxp连不上,报超时. 1,服务端的动态端口从指定的范围内取, 2,防火墙开启范围内端口. 参考:http://jingyan.baidu ...
- FlashFXP出现“数据Socket错误,连接超时”解决方案
把FlashFXP选项中的"使用被动模式"的勾去掉就正常了. 或者在路由上映射服务端设定的被动模式所使用的所有端口,server-u就10个左右,微软的ftp是多少个,偶就不清楚了 ...
随机推荐
- 分享一个dapper简单封装
using System;using System.Data.Common;using System.Linq;using Dapper;using MySql.Data.MySqlClient; p ...
- Shell脚本高级应用 --实现远程MySQL自动查询[转
#!/bin/sh Host=192.168.5.30 User=abccdef PW=123456 MSG=`mysql -h$Host -u$User -p$PW <<EOF show ...
- Excel文件上传
*&---------------------------------------------------------------------* *& FORM FRM_UPDATA_ ...
- 程序猿的编程神器 - vim
一.官方文档: 当你首次安装好 Vim 之后.能够用 :help tutor 或者 :help tutor@cn 命令.进入一个30分钟的 Vim 新手教程.你也能够下载一个 Vim Document ...
- (转载)关于ArrayList的5道面试题
我以面试官的身份参加过很多Java的面试,以下是五个比较有技巧的问题,我发现有些初级到中级的Java研发人员在这些问题上没有完全弄明白,似懂非懂.所以我写了一篇相关的文章,帮助初级Java研发人员弄清 ...
- CHENEY-YANG'S BLOG(cheney-yang)
This is Cheney-Yang's blog ! Welcome to here ! This is Cheney-Yang's blog ! Welcome to here ! This i ...
- Obj2002java
计算球体积 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submi ...
- android开发之定制ViewPager滑动事件
明天还要加班,苦逼的程序猿,简单说说最近遇到的一个问题吧. 我在viewpager+fragment学习笔记中简单介绍过ViewPager+Fragment的用法,其实并不难,当时实现了一个如下图所示 ...
- Android 高级UI设计笔记01:使用ExpandableListView组件(ListView的扩展)
1.ExpandableListView是一个用来显示二级节点的ListView. 比如如下效果的界面: 2.使用ExpandableListView步骤 (1)要给ExpandableListVie ...
- my_pnd_start
终于有个雏形了,再给自己一些时间做做看吧.