| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 719 人关注过本帖
标题:[求助]问个c语言网络编程的问题
只看楼主 加入收藏
taocj
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2007-8-10
收藏
 问题点数:0 回复次数:7 
[求助]问个c语言网络编程的问题
socket编程中:

send(int s,char * buf,int bufLen,int flags)
recv(int s,const char * buf,int bufLen,int flags)
这两个函数中的第二个参数类型已经定死了,我想发送一些无符号型的数据应该怎么办?
有没有别的函数替代它们?有些嵌入式系统可以用以下两个函数来代替它们:
write(s,buf,buflen)
read(s,buf,buflen)
不知道windows下可不可以?如果可以,需要包含哪个头文件?

多谢多谢!
搜索更多相关主题的帖子: 网络 c语言 
2007-08-10 11:36
百年不亮
Rank: 3Rank: 3
等 级:新手上路
威 望:8
帖 子:789
专家分:0
注 册:2006-4-14
收藏
得分:0 
char * buf 只是指向数据缓冲区地址,它对你的buffer中具体是什么内容不感兴趣,这个buffer中你写任何东西都可以。

你想想程序员调用这种函数可能要发送int型,double型等等,如果每种类型都定义一个函数要写多少个?再说它给你发送数据不用管数据具体是什么含义,只是把那一段内存中的数据都发出去或者把收到的写到一段内存而已。任何类型的指针都是4字节的内存地址,在这里没有区别。
2007-08-10 11:59
taocj
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2007-8-10
收藏
得分:0 
好像不是阿,比如我的缓冲区中存放unsigned char 类型的数据,用send()函数发送,编译的时候它就会说类型不匹配的.
而在一些嵌入式系统中,用我上面提到的
write(s,buf,buflen)
read(s,buf,buflen)
这两个函数,就可以阿.

不知道windows下有没有这两个函数呢?
2007-08-10 12:11
百年不亮
Rank: 3Rank: 3
等 级:新手上路
威 望:8
帖 子:789
专家分:0
注 册:2006-4-14
收藏
得分:0 
强制类型转换,OK?
2007-08-10 12:16
taocj
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2007-8-10
收藏
得分:0 
强制类型转换可以,这个我试过
呵呵
windows下莫非真的没有和read()和write()类似的函数?
2007-08-10 12:20
boot2046
Rank: 2
等 级:新手上路
威 望:3
帖 子:168
专家分:0
注 册:2007-7-23
收藏
得分:0 
RECV(2) Linux Programmer's Manual RECV(2)



NAME
recv, recvfrom, recvmsg - receive a message from a socket

SYNOPSIS
#include <sys/types.h>
#include <sys/socket.h>

ssize_t recv(int s, void *buf, size_t len, int flags);

ssize_t recvfrom(int s, void *buf, size_t len, int flags,
struct sockaddr *from, socklen_t *fromlen);

ssize_t recvmsg(int s, struct msghdr *msg, int flags);
这才是recv的原型

Linux是简单的,你不需要成为天才也能理解这种简单,Windows是复杂的,就算你是天才也不能理解这种复杂
2007-08-10 12:39
taocj
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2007-8-10
收藏
得分:0 
回复:(taocj)强制类型转换可以,这个我试过呵呵wind...
这个是linux下的阿,不是windows下的阿
2007-08-10 12:43
taocj
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2007-8-10
收藏
得分:0 
回复:(boot2046)RECV(2) Linux...
这是linux下的阿,windows下可能不是这样的吧
2007-08-10 12:44
快速回复:[求助]问个c语言网络编程的问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016403 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved