18,356
社区成员
发帖
与我相关
我的任务
分享
#include<iostream>
#include<winsock2.h>
using namespace std;
void ErrorHandling(char * Line) {
cout << Line << endl;
system("pause");
exit(-1);
}
int main() {
WSADATA wsadata;
sockaddr_in seraddr,clnadr;
SOCKET ServiceSocket, ClientSocket;
int ClientAdrSize;
char message[100]="NULL";
//char *server_ip = "192.168.1.105";
char *port = "8801";
int strlen=0;
const int BUF_SIZE = 100;
if (WSAStartup(MAKEWORD(2, 2), &wsadata) != 0)
ErrorHandling("WSAStartup Error!");
ServiceSocket = socket(PF_INET, SOCK_STREAM, IPPROTO_TCP);
if (ServiceSocket == INVALID_SOCKET) {
ErrorHandling("ERROR");
system("pause");
exit(-1);
}
cout << "socket create success!" << endl;
memset(&seraddr, 0, sizeof(seraddr));
seraddr.sin_family = AF_INET;
seraddr.sin_addr.s_addr = htonl(INADDR_ANY);
seraddr.sin_port = htons(atoi(port));
if (bind(ServiceSocket, (SOCKADDR*)&seraddr,sizeof(seraddr)) == SOCKET_ERROR)
ErrorHandling("Bind Error!");
if (listen(ServiceSocket, 5) == SOCKET_ERROR)
ErrorHandling("Linsten ERROR");
cout << "bind()sucess" << endl;
while (1) {//问题就在这里,程序一直返回socket_error
if (ClientSocket = accept(ServiceSocket, (sockaddr*)&clnadr, &ClientAdrSize)==SOCKET_ERROR)
continue;
else {
cout << "connected!" << endl;
recv(ServiceSocket, message, BUF_SIZE, 0);
break;
}
}
cout << message;
system("pause");
return(0);
}
#include<iostream>
#include<winsock2.h>
#include<string.h>
using namespace std;
void ErroHandling(char *ErrorLine) {
cout << ErrorLine << endl;
system("pause");
exit(-1);
}
int main() {
int const BUF_SIZE=100;
int strlen_;
char message[BUF_SIZE];
char* ipaddr = "192.168.1.105";
char* port = "8801";
WSADATA wsadata;
SOCKET ServerSocket;
SOCKADDR_IN SerAddr;
if (WSAStartup(MAKEWORD(2, 2), &wsadata) != 0)
ErroHandling("WSAstartup Error");
fgets(message, BUF_SIZE, stdin);
cout << message;
ServerSocket = socket(PF_INET, SOCK_STREAM, 0);
memset(&SerAddr, 0, sizeof(SerAddr));
SerAddr.sin_family = AF_INET;
SerAddr.sin_addr.s_addr = inet_addr(ipaddr);
SerAddr.sin_port = htons(atoi(port));
while (1) {
if (connect(ServerSocket, (sockaddr*)&SerAddr, sizeof(SerAddr)) == SOCKET_ERROR)
continue;
else {
cout << "connected!" << endl;
send(ServerSocket, message, strlen(message), 0);//这里发送消息
break;
}
}
system("pause");
strlen_ = recv(ServerSocket, message, BUFSIZ - 1, 0);//接收服务端返回的消息
closesocket(ServerSocket);
WSACleanup();
system("pause");
return(0);
}
int ClientAdrSize = sizeof(sockaddr_in);
if ((ClientSocket = accept(ServiceSocket, (sockaddr*)&clnadr, &ClientAdrSize))==SOCKET_ERROR)