未来丶梦而已 发表于 2013-11-26 20:20:49

关于socket 编程的一点问题

本帖最后由 未来丶梦而已 于 2013-11-27 01:01 编辑



为什么二次用SOCKADDR_IN的时候,SOCKADDR_IN sa;
main.cpp|61|warning C4101: 'sa' : unreferenced local variable|
||=== Build finished: 0 errors, 1 warnings (0 minutes, 0 seconds) ===|


#define WIN32_LEAN_AND_MEAN
#include <windows.h>
#include <winsock2.h>
#pragma comment(lib,"WS2_32.lib")
#include "resource.h"
#include <ws2tcpip.h>
#pragma comment(lib, "Ws2_32.lib")
void server()
{
      WSADATA wsaData;
      //初始化Socket库
      WSAStartup(MAKEWORD(2,0),&wsaData);
      //创建一根电线
      SOCKET servsock = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
    SOCKADDR_IN pa;
      pa.sin_family=AF_INET;
      //设置电线连接服务器端的端口
      pa.sin_port = htons(IPPORT_ECHO);
      //123.125.50.135是ping smtp.163.com出来的,后面会讲使用gethostbyname来直接从
      //主机名得到ip地址
      pa.sin_addr.S_un.S_addr = inet_addr("127.0.0.1");

    if(bind(servsock, (SOCKADDR *) &pa, sizeof(pa)) < 0)
    {
      
printf("error");
    }

    if(listen(servsock, 5) < 0)
    {
       printf("error");
    }

    for(;;)
{
      SOCKADDR_IN sa;
      socklen_t clntAddrlen = sizeof(sa);
      
}

风のQ 发表于 2013-11-26 20:20:50

这个错误是说你定义的sa变量没有使用而已。

向往青莲 发表于 2013-11-26 21:34:30

不明觉厉 不过我觉得如果在vc++6.0下编译貌似和vs2012不一样。。。没试过,纯属瞎扯哈
因为vc++6.0是9几年的当时c99都没出来 。。。所以一些语法特性什么的都不支持。。。
变量作用域这个不知道vc++6.0支持不。。懒得试了

纯属胡扯 。。。勿当真

markg 发表于 2013-11-28 11:56:56

一般局部变量定义了,没有使用都会报类似的警告。

仰望天上的光 发表于 2013-11-28 18:23:55

人家是警告你定义了变量sa,却没有使用
页: [1]
查看完整版本: 关于socket 编程的一点问题