社区
网络及通讯开发
帖子详情
一个服务器程序,为什么第一次调用socket(...)就出错?
newgoogle
2003-02-17 02:12:43
int sockfd,client_fd;
SOCKADDR_IN my_addr;
SOCKADDR_IN remote_addr;
sockfd=socket(AF_INET,SOCK_STREAM,0);
if(sockfd ==INVALID_SOCKET) {
ShowMessage("socket创建出错!");
exit(1);
}
程序会执行到ShowMessage这一句,报socket创建出错,什么原因啊?
...全文
85
6
打赏
收藏
一个服务器程序,为什么第一次调用socket(...)就出错?
int sockfd,client_fd; SOCKADDR_IN my_addr; SOCKADDR_IN remote_addr; sockfd=socket(AF_INET,SOCK_STREAM,0); if(sockfd ==INVALID_SOCKET) { ShowMessage("socket创建出错!"); exit(1); } 程序会执行到ShowMessage这一句,报socket创建出错,什么原因啊?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
pp616
2003-02-18
打赏
举报
回复
不管你是c or s 用socket api 前就必须调用WSAStartup
newgoogle
2003-02-17
打赏
举报
回复
客户端是不是也要执行WSAStartup?
客户端总是connect()出错,是不是没有WSAStartup?
kingfish
2003-02-17
打赏
举报
回复
先调用 WSAStartup
或者用WSAGetLastError查
l_clove
2003-02-17
打赏
举报
回复
使用之前要这样:
WSADATA wData;
WSAStartup(0x0101,&wData); //Initialize the windows network
用过以后要这样:
WSACleanup();
pp616
2003-02-17
打赏
举报
回复
#include <winsock.h>
#define WSVERS MAKEWORD(1,0)
WSADATA wsadata;
SOCKET McastSock;
if(WSAStartup(WSVERS, &wsadata)==0) //初始化socket库
{
McastSock=socket(AF_INET,SOCK_STREAM,0); //创建套接字
if(McastSock!=0)//创建成功
{
.....
}
}
newgoogle
2003-02-17
打赏
举报
回复
环境bcb6.0,急
建立TCP 服务器的系统
调用
建立TCP服务器连接的过程中主要通过以下系统
调用
序列来获取某些函数,这些系统
调用
主要包括:
socket
(),bind(),listen(),accept(),send()和recv()。 如下图所示, TCP应用程序进行的普通
调用
序列: TCP
调用
的各个层: (1)套接字层接收进行的任何 TCP 系统
调用
。套接字层验证 TCP 应用程序传递的参数的正确性。这是
一个
独立于协议 的层,...
python 实现TCP
socket
通信和 HTTP服务器、服务器和客户端通信python实例
python 实现TCP
socket
通信和 HTTP服务器、服务器和客户端通信实例
socket
是什么? 由下图可理解:
Socket
是应用层与TCP/IP协议族通信的中间软件抽象层。 复杂的TCP/IP协议族隐藏在
Socket
接口后面,对用户来说,一组简单的接口就是全部,让
Socket
去组织数据,以符合指定的协议。 服务器和客户端通信的流程 由下图可理解服务器和客户端通信的流程: 服务器端先初始化
Socket
,然后与端口绑定(bind),对端口进行监听(listen),
调用
accept阻塞,等待客户端连
为什么
socket
传输文件
出错
?(连续多次send或者recv会导致什么?)
1.传输大文件的时候,缓冲区有限,肯定不可能一次性传过去,所以可以使用while循环多次读文件,将每次读取的文件send出去,再继续读文件,再继续send,但是执行的时候发现代码会卡滞,文件传送不过去,这种时候,只需要让接收端在接收到文件后回发
一个
ACK(随便回发
一个
字符啥的都行)进行阻塞即可: 发送端: while(!feof(fp))//只要文件还没结束就要继续fread继续send { filelen=0;//使用前进行初始化 filelen=fread(FileBuffer,1,FILE_LEN
socket
中close()和shutdown()区别
基本TCP程序
socket
函数并发服务器Unix中编写并发服务器最简单的办法是fork
一个
子进程来服务每个客户。 当
一个
连接建立时,accept返回,服务器接着
调用
fork,然后由子进程服务客户(通过已连接的套接字connfd),父进程则等待另
一个
连接(通过监听套接字listenfd)。新的客户由子进程提供服务,父进程就关闭已连接套接字。如图: 1、服务器接收了
一个
客户请求 2、服务器
调用
网络编程基础介绍及
socket
API的使用详解
文章目录一、网络编程基础1.概念2.
socket
API介绍二、
socket
API1. 流套接字和数据报套接字介绍2. TCP和UDP的特点3.UDP
socket
中核心的两个类4. 基于UDP实现回显(Echo)程序 一、网络编程基础 1.概念 网络编程,是通过代码来控制,让两台主机的进程之间能够进行数据交互。 例如:我使用qq发送
一个
消息,这个消息就通过我电脑上的qq客户端进程,先发送给了腾讯的服务器(对应的服务器进程),再由腾讯的服务器进程,把这个消息转发给对方的电脑的qq进程。 2. socke
网络及通讯开发
1,317
社区成员
8,874
社区内容
发帖
与我相关
我的任务
网络及通讯开发
C++ Builder 网络及通讯开发
复制链接
扫一扫
分享
社区描述
C++ Builder 网络及通讯开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章