Ładny brzuch
kto usunl mj topic(z niewiadomych mi przyczyn by zgodny z regulaminem) wic pisze go jeszcze raz:
podczas poczenia przez winsock wyskakuje mi blad 10057 oto przykad:
<server>
#include <stdio.h> #include <winsock.h> #include <windows.h> struct sockaddr_in server,client; int ret,len=sizeof(client); char recvbuff[64]; WSADATA wsa; int main(int argc, char* argv[]) { SOCKET s; WSAStartup(MAKEWORD(2,2),&wsa); s=socket(AF_INET,SOCK_STREAM,0); server.sin_family=AF_INET; server.sin_port=htons(999); server.sin_addr.s_addr=htonl(INADDR_ANY); bind(s,(SOCKADDR *)&server,sizeof(server)); listen(s,8); accept(s,(struct SOCKADDR *)&client,&len); while(1) { ret=recv(s,recvbuff,sizeof(recvbuff),0); if(ret==SOCKET_ERROR) { printf("%i",WSAGetLastError()); break; } else MessageBox(0,recvbuff,"",MB_OK); } getchar(); return 0; }
<client>
#include <stdio.h> #include <winsock.h> #include <windows.h> struct sockaddr_in server; SOCKET s; int ret; char sendbuff[64]; WSADATA wsa; int main(int argc, char* argv[]) { WSAStartup(MAKEWORD(2,2),&wsa); s=socket(AF_INET,SOCK_STREAM,0); server.sin_family=AF_INET; server.sin_port=htons(999); server.sin_addr.s_addr=inet_addr("127.0.0.1"); ret=connect(s,(struct SOCKADDR *)&server,sizeof(server)); if(ret==-1) printf("%i",WSAGetLastError()); printf("polaczono"); getchar(); return 0; }
Prosz o odpowied co robi le. Dziki.
Socket error (#10057): Socket type not supported.
Analyse & Solutions: A request to send or receive data was disallowed because the socket is not connected and (when sending on a datagram socket) no address was supplied.
Imho zle sie laczysz...
A ja odpisuj tak, jak wczoraj:
Poprawki (serwer):CreateThread(NULL,0,WatekProc,(LPVOID)&ret,0,&WatekId); ... DWORD WINAPI WatekProc(LPVOID lpParam) { int s=*((int*)lpParam);
dziki ju wiem co jest le:
do komunikacji musze uywa gniazda zwrconego przez accept();
dziki Cyrkiel
s= accept(s,(struct SOCKADDR *)&client,&len)
zanotowane.pl doc.pisz.pl pdf.pisz.pl zsf.htw.pl
podczas poczenia przez winsock wyskakuje mi blad 10057 oto przykad:
<server>
#include <stdio.h> #include <winsock.h> #include <windows.h> struct sockaddr_in server,client; int ret,len=sizeof(client); char recvbuff[64]; WSADATA wsa; int main(int argc, char* argv[]) { SOCKET s; WSAStartup(MAKEWORD(2,2),&wsa); s=socket(AF_INET,SOCK_STREAM,0); server.sin_family=AF_INET; server.sin_port=htons(999); server.sin_addr.s_addr=htonl(INADDR_ANY); bind(s,(SOCKADDR *)&server,sizeof(server)); listen(s,8); accept(s,(struct SOCKADDR *)&client,&len); while(1) { ret=recv(s,recvbuff,sizeof(recvbuff),0); if(ret==SOCKET_ERROR) { printf("%i",WSAGetLastError()); break; } else MessageBox(0,recvbuff,"",MB_OK); } getchar(); return 0; }
<client>
#include <stdio.h> #include <winsock.h> #include <windows.h> struct sockaddr_in server; SOCKET s; int ret; char sendbuff[64]; WSADATA wsa; int main(int argc, char* argv[]) { WSAStartup(MAKEWORD(2,2),&wsa); s=socket(AF_INET,SOCK_STREAM,0); server.sin_family=AF_INET; server.sin_port=htons(999); server.sin_addr.s_addr=inet_addr("127.0.0.1"); ret=connect(s,(struct SOCKADDR *)&server,sizeof(server)); if(ret==-1) printf("%i",WSAGetLastError()); printf("polaczono"); getchar(); return 0; }
Prosz o odpowied co robi le. Dziki.
Socket error (#10057): Socket type not supported.
Analyse & Solutions: A request to send or receive data was disallowed because the socket is not connected and (when sending on a datagram socket) no address was supplied.
Imho zle sie laczysz...
A ja odpisuj tak, jak wczoraj:
Poprawki (serwer):CreateThread(NULL,0,WatekProc,(LPVOID)&ret,0,&WatekId); ... DWORD WINAPI WatekProc(LPVOID lpParam) { int s=*((int*)lpParam);
dziki ju wiem co jest le:
do komunikacji musze uywa gniazda zwrconego przez accept();
dziki Cyrkiel
s= accept(s,(struct SOCKADDR *)&client,&len)