关于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
)
即直接输入库名,好,大功告成!
相关文章推荐
- 网络编程中的socket中关于TCP下的文件传输:EOF问题
- 一个小问题——关于linux重启网络需重设DNS的问题
- Y君问起一个关于网络扩容的问题 文/谷雨霖
- 关于socket编程的一个常坑问题,readLine()
- 求救一个关于commons-httpclient组件在网络连接过程中的速度问题,好奇怪啊。。。
- 分享一个链接,MS官方的解释:关于网络上流传的通过修改组策略“解除XP/WIN7系统默认限制20%的网速”来提高网速的问题。希望大家不要被误导。
- 关于udp socket recvfrom函数的一个易错问题: 如果应用程序指定的接收长度不够怎么办?
- 问一个关于java Socket编程的问题。
- 遇到一个关于网络请求的问题,真的很蛋疼
- 参数读取一个关于java.net.Socket的超时的问题
- 一个我很长时间才解决的关于xp与2000共享的网络问题
- 一个关于UDP socket服务端接收长度不正确的问题
- Android手机监视网络状态的变化--关于权限的一个小问题
- 一个我很长时间才解决的关于xp与2000共享的网络问题
- 关于linux下网络编程socket 转换IP问题 inet_ntoa()
- 关于Windows 7启动后网络一直转的问题的一个解决方法
- 一个关于组播的网络问题--暂没有时间确定真实原因
- 关于昨天在鸿鹄上面看到一个问题-(网络)检查你是不是高手??
- 一个关于组播的网络问题--暂没有时间确定真实原因
- 一个关于java.net.Socket的超时的问题