Sockets就是关于网络编程茄滚罩。大致就是服务器和客户端各注册一个socket端口,然后进行通信备激!颤闹
建一个大的2维数组,大小等于 横向格数M,竖向格数N。空格用0,c处用1,s处用2,!处用宏嫌侍3,O处用4.
然后用循环语句读2维数组,蔽吵
用switch语句判断打印:
#define N 40
#define M 80
int a[N][M]={ ...}
for (j=0j<Nj++){
for (i=0i<Mi++){
switch(a[j][i])
{
case 1: printf("c")break
case 2: printf("s")break
case 3: printf("!")break
case 4: printf("O"者羡)break
defaul: printf(" ")break
} // end switch
} // end for i
printf("\n")
} // end for j
客户端弊灶枝WORD version
WSADATA wsaData
int rVal=0
version = MAKEWORD(1,1)
WSAStartup(version,(LPWSADATA)&wsaData)
LPHOSTENT hostEntry
//store information about the server
hostEntry = gethostbyname("hibbert")
if(!hostEntry)
{
sError("Failed gethostbyname()")
//租敏WSACleanup()
return CS_ERROR
}
//create the socket
SOCKET theSocket = socket(PF_INET, SOCK_STREAM, IPPROTO_TCP)
if(theSocket == SOCKET_ERROR)
{
sError("辩汪Failed socket()")
return CS_ERROR
}
//Fill in the sockaddr_in struct
SOCKADDR_IN serverInfo
serverInfo.sin_family = PF_INET
serverInfo.sin_addr = *((LPIN_ADDR)*hostEntry->h_addr_list)
serverInfo.sin_port = htons(8888)
rVal=connect(theSocket,(LPSOCKADDR)&serverInfo, sizeof(serverInfo))
if(rVal==SOCKET_ERROR)
{
sError("Failed connect()")
return CS_ERROR
}
char *buf = "HELLO\n"
rVal = send(theSocket, buf, strlen(buf), 0)
if(rVal == SOCKET_ERROR)
{
sError("Failed send()")
return CS_ERROR
}
char buf[4]
rVal = recv(client, buf, 4, 0)
closesocket(theSocket)
cout <<"closing client"<<endl
WSACleanup()
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)