VerySource

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1492|回复: 11

如何往一个socket里面写数据

[复制链接]

1

主题

5

帖子

2.00

积分

新手上路

Rank: 1

积分
2.00
发表于 2020-1-4 11:40:01 | 显示全部楼层 |阅读模式
我写的是一个udp server的程序,有些情况需要server自己往socket里面写数据,
我试了,直接write(sockfd, data, 10);是不行的,系统提示Destination address required
除非server模拟client来连接自己,然后可以写入数据,请问一下有没有更加简便的方式
回复

使用道具 举报

0

主题

7

帖子

7.00

积分

新手上路

Rank: 1

积分
7.00
发表于 2020-1-4 11:42:01 | 显示全部楼层
可以写,就是write/send,估计是你代码有问题
回复

使用道具 举报

1

主题

5

帖子

2.00

积分

新手上路

Rank: 1

积分
2.00
 楼主| 发表于 2020-1-4 11:57:01 | 显示全部楼层
你说的情况是udp client端经常采用的手法,
将socket与struct sockaddr_in用connect()事先捆在一起,
这样可以不需要用sendto,直接write() or send()没有问题,
但是我的是server端,不行的
回复

使用道具 举报

0

主题

3

帖子

4.00

积分

新手上路

Rank: 1

积分
4.00
发表于 2020-1-4 12:03:01 | 显示全部楼层
socket 是封装了协议后的接口
他提供的就那几个函数接口供你使用
根据他提供的一系列描述
判断返回的是否正确
确认前面棒定 连接已经正确建立连接
回复

使用道具 举报

1

主题

5

帖子

2.00

积分

新手上路

Rank: 1

积分
2.00
 楼主| 发表于 2020-1-4 12:12:01 | 显示全部楼层
也就是说server端内部是否可以不需要通过网络的方式(太麻烦)向socket里面写入数据
回复

使用道具 举报

1

主题

5

帖子

2.00

积分

新手上路

Rank: 1

积分
2.00
 楼主| 发表于 2020-1-4 12:24:01 | 显示全部楼层
       
也就是说server端内部是否可以不需要通过网络的方式(太麻烦)向  自己的  socket里面写入数据
回复

使用道具 举报

0

主题

1

帖子

2.00

积分

新手上路

Rank: 1

积分
2.00
发表于 2020-1-4 13:30:01 | 显示全部楼层
server:
    recv(pkt)
    packet_dispatch(pkt)

这样你调用packet_dispatch不就可以了?
回复

使用道具 举报

0

主题

63

帖子

43.00

积分

新手上路

Rank: 1

积分
43.00
发表于 2020-1-4 13:33:01 | 显示全部楼层
sendto, 地址填自己行不?
回复

使用道具 举报

0

主题

2

帖子

2.00

积分

新手上路

Rank: 1

积分
2.00
发表于 2020-1-4 14:24:01 | 显示全部楼层
首先是server的是否可以应答,再就是你写入的数据与server要求的是否一致。使用sendto或send 肯定可以将数据发送出去,你再试试吧。
回复

使用道具 举报

1

主题

5

帖子

2.00

积分

新手上路

Rank: 1

积分
2.00
 楼主| 发表于 2020-1-4 15:54:01 | 显示全部楼层
谢谢楼上的几位大哥!!
to better:
不明白你的意思?可否说详细一些。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|CopyRight © 2008-2023|verysource.com ( 京ICP备17048824号-1 )

快速回复 返回顶部 返回列表