您的位置:首页 > 理论基础 > 计算机网络

关于socket网络的一个小问题

2010-11-13 12:43 357 查看

以下是
Socket
网络编程的一段模板代码

void
SocketText(void)

{


WSADATA
wsaData;


//
初始化
socket



WSAStartup(MAKEWORD(2,0),&wsaData);//MAKEWORD(2,0)ÊÇsocket°æ±¾


//´
创建一根电线


SOCKET
sock = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);


SOCKADDR_IN
sa;


sa.sin_family=AF_INET;


//
设置电线连接服务器端的端口


sa.sin_port
= htons(IPPORT_SMTP);//
邮件服务端口


//
主机获得
IP
地址


sa.sin_addr.S_un.S_addr
= inet_addr("123.125.50.135");


if(connect(sock,(SOCKADDR
*)&sa,sizeof(sa))==SOCKET_ERROR)


{


ShowError();


return;


}


closesocket(sock);


WSACleanup();

}

void ShowError()

{


TCHAR*
lpMsgBuf;


FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER|
//
自动分配消息缓冲区


FORMAT_MESSAGE_FROM_SYSTEM,
//´
从系统获得消息


NULL,GetLastError(),
//
获取错误信息标识


MAKELANGID(LANG_NEUTRAL,SUBLANG_DEFAULT),//
使用系统缺省语言


(LPTSTR)&lpMsgBuf,
//
消息缓冲区


0,


NULL);


MessageBox(NULL,lpMsgBuf,"",MB_ICONERROR);

}



////////////////////////////////////////////////////////////////////////////////

当然要添加
#include
<winsock2.h>
头文件,但是在标准
C-Free
编译器中出现会出现
[Error]
C:/PROGRA~1/C-FREE~1/mingw32/bin/ld.exe: cannot find - winsock2.lib
错误,此时工程设置里添加了
winsock2.lib
,当没有相同名字时,就找最相近的,现在问题来了,如果直接如下操作

则出现
ld.exe
cannot find ID

IP
提示错误,这时我们就要进行一个小小的处理,如下将

图(
1


图(
1
)操作改成下图(
2
)操作

图(
2


即直接输入库名,好,大功告成!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐