当前位置:  技术问答>linux和unix

windows代码翻译成Linux下的,Socket方面的

    来源: 互联网  发布时间:2015-09-14

    本文导语:  内容如下,请全部翻译成在linux下可编译的代码,即普通C++的代码 1、 WORD VersionRequest; struct WSAData stWSAData; VersionRequest=MAKEWORD(2,2); memset((char *)&stWSAData,0x00,sizeof(stWSAData)); if(WSAStartup(VersionRequest,&stWSAData)!=0) return ;...

内容如下,请全部翻译成在linux下可编译的代码,即普通C++的代码
1、
WORD VersionRequest;
struct WSAData stWSAData;

VersionRequest=MAKEWORD(2,2);
memset((char *)&stWSAData,0x00,sizeof(stWSAData));
if(WSAStartup(VersionRequest,&stWSAData)!=0) return ;

2、
WSACleanup();


3、
int  iWSAerror;
iWSAerror = WSAGetLastError();
if(iWSAerror != WSAEWOULDBLOCK)
{
CloseSocket();
m_siStatus = CONNECT_ERROR;
return m_siStatus;
}
if(iWSAerror==WSAEWOULDBLOCK)


|
第一段代码:在windows下是初始化Winsock动态库(ws2_32.dll或winsock.dll),根据版本号选择2.2的winsock动态库。在Linux下你不需要选择,因为只有一个版本的socket,而且都是系统调用,没有动态库,所以这段可以删除。
第二段代码:是对前面已经初始化的winsock动态库做清理,相当于卸载动态库,linux下你没有初始化过socket动态库,所以这句也删除。
第三段代码:
修改为:
#include 
int ierror;
ierror = errno;
if(ierror != EWOULDBLOCK)
{
 close(需要关闭的socket);
int m_siStatus;
m_siStatus = CONNECT_ERROR;
return m_siStatus;
}
if(ierror==EWOULDBLOCK){
}

|
兄弟,如果要改成linux的话,重头再写吧!!!没有一句可以重用(int  iWSAerror;除外)。
给你一段程序:#include 
#include 
#include 
#include 
#include 
#include 

int main(int argc,char *argv[])
{
int sock;
int val,cnt;
struct sockaddr_in myname;
struct sockaddr_in *nptr;
char buf[80];
struct hostent *hp,*gethostbyaddr();
if(argch_length);
if((connect(sock,&myname,sizeof(myname)))

    
 
 

您可能感兴趣的文章:

 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • windows下c/c++读写锁实现原理及代码参考
  • windows下写的代码 gb2312 如何转成 LINUX和WINDOWS都可正常显示的代码
  • windows下如何把汇编代码和C代码编译成一个程序呢?
  • 如何把unix代码转换为windows下的代码 ??有比较简单的方法吗?
  • 我在windows下用xterm登陆LINUX,但是不能直接在windows下copy代码到xterm窗口上,有人知道怎么搞定吗?
  • linux下的代码如何移植到windows下
  • Windows下的代码编辑器 DesyEdit
  • 关于windows代码向linux移植的问题
  • qt库的windows版本有源代码的吗?
  • glib for windows的源代码
  • 求助 ==> 代码移殖:从Linux到的Windows,请高手指点一二,谢谢啦
  • 如何把Linux下的源代码程序在Windows下完整的显示?
  • 如何在WINDOWS下面看LINUX源代码呀?
  • X Window System 的源代码的问题
  • windows 和linux 代码转化问题
  • 从Windows共享过来的代码,每一行后面都有个^M,如何去掉??
  • java运行windows的cmd命令简单代码
  • 求救:为何我在windows下解压缩Linux内核源代码时会有重复文件?
  • 有没有在WINDOWS下专门用来看LINXU内核源代码的软件?
  • 如何在windows下读linux的源代码——.src.rpm文件?
  • windows 下能否查看以rpm形式打包的源代码?
  • java命名空间java.awt类window.accessibleawtwindow的类成员方法: window.accessibleawtwindow定义及介绍
  • 怎么在Linux下改windows系统文件啊,我把windows的BOOT.INI改了,windows启动不了
  • java命名空间java.awt类window的类成员方法: window定义及介绍
  • x-windows如何安装在linux(rdehat9)上面呢,是不是x-windows也分windows和linux版本的吗?
  • java命名空间java.awt.event类windowevent的类成员方法: window_activated定义及介绍
  • linux和windows串口问题!?linux向windows端发送,第一次write正常,继续write,windows接收到的就变成乱码了,这是什么原因??????
  • java命名空间java.awt.event类windowevent的类成员方法: window_deactivated定义及介绍
  • redhat7.3+window me +windows xp 共存,MBR在windows me 分区,现在要重裝windwos me,怎么办?
  • java命名空间java.awt.event类windowevent的类成员方法: window_gained_focus定义及介绍
  • 装了Linux和Windows,怎样默认进入Windows


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3