我的任务是通过来自客户端的TCP连接接收数据,然后将相同的值连续发送回客户端。这是一个基本代码,但我只需确定p1 [i]是否与p [i]具有相同的值,并将接收到的数据发送回客户端,因为我无法在明天之前对其进行测试。我刚刚把通信部分包含在客户端,而不是连接建立。通过TCP接收和发送数据
int main(int argc , char *argv[])
{
WSADATA wsa;
SOCKET s , new_socket;
struct sockaddr_in server , client;
int c;
char iResult;
char recvbuf[DEFAULT_BUFLEN];
int recvbuflen = DEFAULT_BUFLEN;
char sendbuf [DEFAULT_BUFLEN];
int sendbuflen = DEFAULT_BUFLEN;
unsigned int i;
uint8_t* p;
uint8_t* p1;
int x=0;
int q=0;
size_t len;
p = (uint8_t*)recvbuf;
len= iResult/sizeof(uint8_t);
do
{
iResult = recv(new_socket, recvbuf, recvbuflen, 0);
{
for(i=0; i<len; i++)
{
p[i];
}
}
if(iResult == 0)
{
wprintf(L"Connection closed\n");
}
else
{
wprintf(L"recv failed with error: %d\n", WSAGetLastError());
}
}
while(iResult > 0);
// Send uint8_t back data to client
p1 = (uint8_t*)sendbuf;
iResult = send(new_socket, sendbuf, sendbuflen, 0);
{
for(q=0; q<len; q++)
{
p1[q] = p[q];
}
}
return 0;
closesocket(new_socket);
WSACleanup();
return 0;
}
而且你的问题是什么? – EJP
代码是否将收到的数据发送回去? –