chat
-
tag ich bins nochmal,
Habe folgendes Problem:
Mein Server empfängt nur 3 Zeichen!
Hier der Code:Server:
#include <iostream.h>
#include <windows.h>
#include <winsock.h>int main(void) {
SOCKET sock=INVALID_SOCKET;
struct sockaddr_in svr;
struct sockaddr_in remsvr;svr.sin_family=AF_INET;
svr.sin_addr.s_addr=INADDR_ANY;
svr.sin_port=htons(2001);WORD wVersionReg=MAKEWORD(1,1);
WSADATA wsaData;
WSAStartup(wVersionReg,&wsaData);sock=socket(AF_INET,SOCK_STREAM,0);
bind(sock,(struct sockaddr*)&svr,sizeof(svr));
listen(sock,1);
sock=accept(sock,NULL,NULL);char sven[40];
int xx=recv(sock,sven,strlen(sven),0);
sven[xx]='\0';
cout<<sven <<"\n";
cout<<xx;closesocket(sock);
WSACleanup();
}und hier der Client:
#include <iostream.h>
#include <windows.h>
#include <winsock.h>void WSAInit() {
WORD wVersionReg=MAKEWORD(1,0);
WSADATA wsaData;
if(int error=WSAStartup(wVersionReg,&wsaData) != 0) {
cout << "Fehler 1";
}}int main(void) {
SOCKET sock=INVALID_SOCKET;struct sockaddr_in svr;
svr.sin_family=AF_INET;
svr.sin_addr.s_addr=inet_addr("127.0.0.1");
svr.sin_port=htons(2001);WSAInit();
if((sock=socket(AF_INET,SOCK_STREAM,0))==INVALID_SOCKET) {
cout<<"Fehler 2";
}if(connect(sock,(struct sockaddr*) &svr,sizeof(svr))==SOCKET_ERROR) {
cout<<"Fehler 3";
}
char text[40];
cin>>text;
send(sock,text,strlen(text), 1);closesocket(sock);
WSACleanup();
}Danke für eure Hilfe!
-
habe gemerkt wenn ich die länge gleich auf 40 setze dann kommt alles an!
aber leerzeichen werden übersprungen!
Warum???
-
Könnt ihr mir helfen?
bitte votet für meinen raum im
smeet-3D-chat (dauert 1 min)http://de.blog.smeet.com/?tag=room-contest
Thomski
-
Ich fand den von Skatepunkerin91 schöner und habe für diesen abgestimmt.