sf
Nybegynder
22. oktober 2004 - 21:34
Der er
21 kommentarer og 1 løsning
socket program noob spm
jeg er lige ved at lave lidt winsock programmering men kan ikke helt finde ud af hvad der er galt: #include "stdafx.h" #include <winsock.h> #include <iostream.h> #include <string.h> int main(int argc, char* argv[]) { call_socket("192.168.1.2","3940"); return 0; } SOCKET call_socket(const char *hostname, unsigned short portnum) { struct sockaddr_in sa; struct hostent *hp; SOCKET s; hp = gethostbyname(hostname); if (hp == NULL) /* we don't know who this host is */ return INVALID_SOCKET; memset(&sa,0,sizeof(sa)); memcpy((char *)&sa.sin_addr, hp->h_addr, hp->h_length); /* set address */ sa.sin_family = hp->h_addrtype; sa.sin_port = htons((u_short)portnum); s = socket(hp->h_addrtype, SOCK_STREAM, 0); if (s == INVALID_SOCKET) return INVALID_SOCKET; /* try to connect to the specified socket */ if (connect(s, (struct sockaddr *)&sa, sizeof sa) == SOCKET_ERROR) { closesocket(s); return INVALID_SOCKET; } return s; error: error C2065: 'call_socket' : undeclared identifier error C2373: 'call_socket' : redefinition; different type modifiers
Annonceindlæg fra DE-CIX
22. oktober 2004 - 21:37
#1
Prøv og flyt call_socket op over main
22. oktober 2004 - 21:37
#2
Eller bare at lig følgende nye linie ind over main: SOCKET call_socket(const char *hostname, unsigned short portnum);
sf
Nybegynder
22. oktober 2004 - 21:44
#3
ja hjalp en hel del men får en ny fejl: 'call_socket' : cannot convert parameter 2 from 'char [5]' to 'unsigned short' This conversion requires a reinterpret_cast, a C-style cast or function-style cast
22. oktober 2004 - 21:45
#4
du skal bare skrive tallet 3940
22. oktober 2004 - 21:45
#5
Lav call_socket("192.168.1.2","3940"); om til call_socket("192.168.1.2",3940);
sf
Nybegynder
22. oktober 2004 - 21:49
#6
ok.. får en masse fejl: (har jeg ikke linket winsock til eller?) socket.obj : error LNK2001: unresolved external symbol _closesocket@4 socket.obj : error LNK2001: unresolved external symbol _connect@12 socket.obj : error LNK2001: unresolved external symbol _socket@12 socket.obj : error LNK2001: unresolved external symbol _htons@4 socket.obj : error LNK2001: unresolved external symbol _gethostbyname@4
22. oktober 2004 - 21:50
#7
du mangler nok at linke et library ind i projektet
sf
Nybegynder
22. oktober 2004 - 21:52
#8
howto?
22. oktober 2004 - 21:53
#9
wsock32.lib måske... skal added i project settings under additional libraries
sf
Nybegynder
22. oktober 2004 - 21:55
#10
tak det var det.. :)
22. oktober 2004 - 21:55
#11
det er wsock32.lib (i VS6 får du project settings med ALT+f7) i VS7 kan man højre klikke på projektet og vælge egenskaber..
22. oktober 2004 - 21:57
#12
np :D
sf
Nybegynder
22. oktober 2004 - 21:59
#13
bruger også en funktion establish ved hvorfor jeg får fejl når jeg bruger den?
sf
Nybegynder
22. oktober 2004 - 22:00
#14
sorry mig der ikke hvad kigget det igennem lige meget..
22. oktober 2004 - 22:01
#15
wsock32.lib eller måske ws2_32.lib
22. oktober 2004 - 22:01
#16
22:01:14 er svar helt tilbag etiul 21:49:14
22. oktober 2004 - 22:02
#17
tilbage til
sf
Nybegynder
22. oktober 2004 - 22:18
#18
ok lave et svar
22. oktober 2004 - 22:20
#19
det var arne der var først på pletten (begriber ikke hvordan du bærer dig ad, arne :D)
22. oktober 2004 - 22:20
#20
mig ?
sf
Nybegynder
22. oktober 2004 - 22:25
#21
ja arne_v
sf
Nybegynder
22. oktober 2004 - 22:26
#22
takker for hjælpen
Kurser inden for grundlæggende programmering