不用WinSock、CSocket,只用Win32进行网络编程...应该怎么理解?
2016-11-21 17:06
621 查看
今日在公司遇一牛人,告诉我在Windows下,网络通信要高效性能好,不要用WinSock、CSocket,只能用Win32编程...云云。
....我到现在还不明白什么意思,哪位大侠能指教一下小弟?
就是用原始套接字罢了:
用socket。
recv,send等windows网络编程函数。
给你介绍一本书:
《基于Windows的TCP/IP编程》清华大学出版
当然《TCP/IP详解 --第二卷》是最好的。
那你说的socket,包括recv,send等其实都是WinSock的东西啊!
用原始套接字其实一般来说我觉得没有必要
....谢谢你的建议
原始套接字有时候追求高性能还是要用到的。
一般的TCP套接字发送要4000行代码,
UDP好像是800行,
原始套接字还要少一点。你那个公司的人的主要意思我看还是不要用MFC里面封装的那几个SOCKET类。
呵呵/他的意思应当是不用MFC/用Api做/否则他是SB
呵呵!同意楼上,语言表达真是奇妙,就是用API吗,说得这么富丽堂皇,好羡慕他的表达能力
windows平台下的socket不就是winsock吗?
他到底懂不懂?
他可能用的自创的SB+NB Socket
WinSock 不就是 Win32API 吗,那人一点都不牛,到是很会吹牛
哦,我还以为它要自己实现TCP/IP协议栈呢。——实现了也不见得就一定比人家socket效率高。
什么呀都是,windows平台上的socket不就是WinSocket嘛,那个牛人所说的网络通信不会是串口吧?哈哈
说句老实话,根据大家的意见,我自己觉得他的意思可能是用raw_sock来做,自己完成数据包格式等等,不用现成的TCP/UDP吧?不过可能表达的不是很清楚....我也真的以为有些什么很特别的技术。
只用WinApi实现通信,其实也可以,当中还用上汇编,直接写数据进网卡寄存器,我以前也做过,不过不是特定的应用,一般不需要这么做了。
那就用ACE好了!
http://www.cs.wustl.edu/~schmidt/ACE.html
哎呀看好了。人家说得winsock是控件啊。没什么不对的啊。
呵呵,原来他把Winsock控件一般都说成Winsock。。
全用RAWSOCKET不可能,
因为 接收不到。
有这样的牛人啊,不明白硬充明白,这样的人存在于所有的公司,而且是一些项目经理|经理级别的,唉,TMMD~~~~~
我想问大家一个问题,操作系统是如何和驱动程序沟通的?假如我想根据TCP/IP协议写一个发送IP包到指定主机的程序不用SOCKET,该怎么写??要注意什么东西。
windows平台上的socket就是WinSocket,socket这个东西可不是WIN都是的专利哦,socket的发明比windows还早,最初在unix用的,WINSOCK只是WINDOWS为SOCKET写的一个API,那家伙完全是吹牛B吧?不用WINSOCK用什么?他有更牛B的?不可能!
....我到现在还不明白什么意思,哪位大侠能指教一下小弟?
解决方案 »
就是用原始套接字罢了:用socket。
recv,send等windows网络编程函数。
给你介绍一本书:
《基于Windows的TCP/IP编程》清华大学出版
当然《TCP/IP详解 --第二卷》是最好的。
那你说的socket,包括recv,send等其实都是WinSock的东西啊!
用原始套接字其实一般来说我觉得没有必要
....谢谢你的建议
原始套接字有时候追求高性能还是要用到的。
一般的TCP套接字发送要4000行代码,
UDP好像是800行,
原始套接字还要少一点。你那个公司的人的主要意思我看还是不要用MFC里面封装的那几个SOCKET类。
呵呵/他的意思应当是不用MFC/用Api做/否则他是SB
呵呵!同意楼上,语言表达真是奇妙,就是用API吗,说得这么富丽堂皇,好羡慕他的表达能力
windows平台下的socket不就是winsock吗?
他到底懂不懂?
他可能用的自创的SB+NB Socket
WinSock 不就是 Win32API 吗,那人一点都不牛,到是很会吹牛
哦,我还以为它要自己实现TCP/IP协议栈呢。——实现了也不见得就一定比人家socket效率高。
什么呀都是,windows平台上的socket不就是WinSocket嘛,那个牛人所说的网络通信不会是串口吧?哈哈
说句老实话,根据大家的意见,我自己觉得他的意思可能是用raw_sock来做,自己完成数据包格式等等,不用现成的TCP/UDP吧?不过可能表达的不是很清楚....我也真的以为有些什么很特别的技术。
只用WinApi实现通信,其实也可以,当中还用上汇编,直接写数据进网卡寄存器,我以前也做过,不过不是特定的应用,一般不需要这么做了。
那就用ACE好了!
http://www.cs.wustl.edu/~schmidt/ACE.html
哎呀看好了。人家说得winsock是控件啊。没什么不对的啊。
呵呵,原来他把Winsock控件一般都说成Winsock。。
全用RAWSOCKET不可能,
因为 接收不到。
有这样的牛人啊,不明白硬充明白,这样的人存在于所有的公司,而且是一些项目经理|经理级别的,唉,TMMD~~~~~
我想问大家一个问题,操作系统是如何和驱动程序沟通的?假如我想根据TCP/IP协议写一个发送IP包到指定主机的程序不用SOCKET,该怎么写??要注意什么东西。
windows平台上的socket就是WinSocket,socket这个东西可不是WIN都是的专利哦,socket的发明比windows还早,最初在unix用的,WINSOCK只是WINDOWS为SOCKET写的一个API,那家伙完全是吹牛B吧?不用WINSOCK用什么?他有更牛B的?不可能!
相关文章推荐
- 看完以下的网络资料应该可以很好的理解字符编码问题.以后乱码也不用摸不着头了.
- 关于winsock中网络编程事件模型和窗口消息模型中FD_WRITE的理解与数据的发送需要注意的关键点
- 关于winsock中网络编程事件模型和窗口消息模型中FD_WRITE的理解与数据的发送需要注意的关键点
- 【一个批量计算的调度系统的设计与实现】如果需要对成千上万的网络抓包数据文件在规定的时间内进行解析,应该怎么做?
- 看完以下的网络资料应该可以很好的理解字符编码问题.以后乱码也不用摸不着头了.
- 网络编程相关术语,自己理解.
- c# socket 编程——对常用的网络操作进行封装
- c# socket 编程——对常用的网络操作进行封装
- C#编程到底应该怎么学呢?
- Window网络编程之Winsock(一)起步(转)
- VC网络编程-Winsock开发网络通信程序的经典入门
- 利用WinSock实现简单网络编程
- Window网络编程之Winsock(一)起步
- 利用Winsock进行IP通信编程
- 使用epoll进行高性能网络编程
- 网络编程中一些问题理解(一)
- 使用epoll进行高性能网络编程(收藏)
- 使用epoll进行高性能网络编程
- windows网络编程之 (三) - Winsock非阻塞select模式服务器
- 基于Win32平台下Winsock API的网络编程