[Ubuntu-zh] 在本机上测试Socket程序,Client提示Connect():Invalid argument
Amon Hen
zzlongtk在gmail.com
星期三 十二月 15 12:56:54 GMT 2010
ÈçÌâ
googleºóµÃµ½ÐÅÏ¢£º
WSAEINVAL
(10022)
Invalid argument.
Some invalid argument was supplied (for example, specifying an invalid level
to the setsockopt function).
In some instances, it also refers to the current state of the socket or
instance, calling accept on a socket that is not listening.
ÓÚÊǼì²éServer£¬telnet³É¹¦
Åųýд´íIP¡¢¶Ë¿ÚÒ»ÀàµÄ´íÎó£¬ÄÇôÎÊÌâ³öÔÚÄÄÄØ£¿
shellÏÂÊäÈ룺./Client 127.0.0.1 "Hi" 2000
ºóÃæÕâ¸ö2000ÊÇ·þÎñ¶Ë¿Ú
ÏÂÃæÊÇClientµÄ´úÂ룬´ó¼ÒÓпյĻ°°ïæ¿´Ò»ÏÂ....³õѧSocket±à³Ì.....ллÁË
int main(int argc,char *argv[])
{
if (argc != 3 && argc !=4 )
DieWithUseMessage("Parameter(s)","<Server Address> <Echo Word> [<Server
Port>]");//Õâ¸öÊÇÊä³öº¯Êý....
char *servIP = argv[1];
char *echoString = argv[2];
in_port_t servPort = (argc == 4) ? atoi(argv[3]) : 7;
int sock = socket(AF_INET,SOCK_STREAM,IPPROTO_TCP);
if (sock < 0)
DieWithSystemMessage("socket() failed");
struct sockaddr_in servAddr;
memset(&servAddr,0,sizeof(servAddr));
servAddr.sin_family = AF_INET;
int rtnVal = inet_pton(AF_INET,servIP,&servAddr.sin_addr.s_addr)£»
if (rtnVal == 0)
DieWithUseMessage("inet_pton() failed","invalid address string");
else if (rtnVal < 0)
DieWithSystemMessage("inet_pton() failed");
servAddr.sin_port = htons(servPort);
if (connect(sock,(struct sockaddr*) &servAddr, sizeof(servAddr) <0))
DieWithSystemMessage("connect() failed");//¾ÍÊÇÕâ³ö´íÁË.......
............
}
-------------- 下一部分 --------------
Ò»¸öHTML¸½¼þ±»ÒƳý...
URL: https://lists.ubuntu.com/archives/ubuntu-zh/attachments/20101215/14fe5eb8/attachment.htm
关于邮件列表 ubuntu-zh 的更多信息