PTT
Submit
Submit
选择语言
正體中文
简体中文
PTT
C_and_CPP
[问题] 利用C写网络传送程式问题
楼主:
smvenjoy
(好好坏坏~~)
2016-03-03 23:29:38
开发平台(Platform): (Ex: VC++, GCC, Linux, ...)
VC++
问题(Question):
想在PC上利用C语言写一个网络传送程式传送封包到一台机器上(IP:192.168.1.55),
查了一般的socket写法,
程式码摘要如下:
if((m_sockXmt = socket(AF_INET, SOCK_DGRAM, 0)) == INVALID_SOCKET){
return;
}
m_st_xmt.sin_family = AF_INET;
m_st_xmt.sin_port = htons(40000);
m_st_xmt.sin_addr.s_addr = inet_addr("192.168.1.55");
经执行上述程式码后,在wireshark软件上所看如下:
192.168.1.1 192.168.1.55 UDP 50 Source port:57956 Destination port:40000
由以上可以看到Destination port已经被设定为40000,机器的ip:192.168.1.55
也设定正确了。
想请问如果我也想设定Source port为固定值,
譬如我每次开始执行程式时,皆可从wireshark软件上看到
Source port被设定为50000。
想请问该如何再加程式码才可以让我的Source port被设定为固定值50000,谢谢!
作者:
CaptainH
(Cannon)
2016-03-03 23:54:00
send之前先bind
楼主:
smvenjoy
(好好坏坏~~)
2016-03-04 00:09:00
楼上可以再说明详细一点吗? 谢谢!bind(m_sockXmt,(LPSOCKADDR)&m_st_xmt,sizeof(m_st_xmt) 有在send前加此行指令,但SourcePortNumber仍不为定值
作者: alex70266 (小眼)
2016-03-04 21:39:00
bind(dest_sock, &src_addr, sizeof(src_addr))你bind的address struct看起来是目标
作者:
zha0
(这个帐号是挂网用)
2016-03-05 20:20:00
srcport系统会自已给,如果你硬要,那你就自已刻封包,用rawsocket的方式去传.Refs:
http://www.tenouk.com/Module43a.html
继续阅读
[问题] VC++ 内存问题 求教
ostrichw
[问题] 读取hex file
HisterShen
Re: [分享] 打造 c++ 标准程式库 for stm32f407
descent
[问题] 只想分享自己某些接口给friend
Arton0306
Re: [问题] 在特定条件下,deque与vector的效能比较
Neisseria
[问题] 在特定条件下,deque与vector的效能比较
Caesar08
[问题] 请教如何安装Opencv for QT
z115988
[讨论] 如何将#define用于不定参数函数
MaxHaru
[讨论] 如何用function来包像printf这种function
MaxHaru
[讨论] 取得格式化字串的方法
MaxHaru
Links
booklink
Contact Us: admin [ a t ] ucptt.com