📄 communication.c
字号:
#include <stdio.h>
#include "Communication.h"
SOCKET CommInit(char IPAddr[])
{
int nRet = SOCKET_ERROR;
WSADATA WSStartData;
SOCKET ClientSock;
struct sockaddr_in stSvrAddrIn;
WSAStartup (MAKEWORD (2, 0), &WSStartData);
ClientSock = socket(AF_INET, SOCK_STREAM, 0);
memset (&stSvrAddrIn, 0, sizeof(stSvrAddrIn));
stSvrAddrIn.sin_family = AF_INET;
stSvrAddrIn.sin_port = htons(SERVER_PORT);
stSvrAddrIn.sin_addr.s_addr = inet_addr(IPAddr);
nRet = connect(ClientSock, (SOCKADDR*)&stSvrAddrIn, sizeof(SOCKADDR));
if (nRet==SOCKET_ERROR)
return -1;
else
return ClientSock;
}
int readn(SOCKET sd, LPBYTE pBuffer, LONG32 nRemainRecv)
{
DWORD Disconnect = 0;
LONG32 nXfer, nRequire;
nRequire = nRemainRecv;
while(nRemainRecv > 0 && !Disconnect)
{
if((nXfer = recv(sd, pBuffer, nRemainRecv, 0)) == SOCKET_ERROR)
{
return(SOCKET_ERROR);
}
Disconnect = (nXfer == 0);
nRemainRecv -= nXfer; pBuffer += nXfer;
}
return (nRequire - nRemainRecv);
}
int writen(SOCKET sd, LPBYTE pBuffer, LONG32 nRemainRecv)
{
DWORD Disconnect = 0;
LONG32 nXfer, nRequire;
nRequire = nRemainRecv;
while(nRemainRecv > 0 && !Disconnect)
{
if((nXfer = send(sd, pBuffer, nRemainRecv, 0)) == SOCKET_ERROR)
{
return(SOCKET_ERROR);
}
Disconnect = (nXfer == 0);
nRemainRecv -= nXfer; pBuffer += nXfer;
}
return (nRequire - nRemainRecv);
}
//static BOOL SendRequestMessage (REQUEST *pREQUEST, SOCKET sd)
//{
//
// return TRUE;
//}
//
//static BOOL ReceiveResponseMessage (RESPONSE *pRESPONSE, SOCKET sd)
//{
// return TRUE;
//}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -