Created
July 19, 2012 04:31
-
-
Save autophyte/3140756 to your computer and use it in GitHub Desktop.
game_robot
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
//文件:tcp_c.c | |
//描述:tcp客户端源程序 | |
#include <stdio.h> | |
#include <winsock2.h> | |
#pragma comment(lib, "WS2_32.lib") | |
#define BUF_SIZE 1024 | |
int main(int argc, char* argv) { | |
WSADATA wsaData; | |
SOCKADDR_IN serverAddr; | |
SOCKET socketC; | |
char sendbuf[BUF_SIZE] = "Hello TCP World!"; | |
WSAStartup(MAKEWORD(1,1), &wsaData); | |
socketC = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP); | |
serverAddr.sin_family = AF_INET; | |
serverAddr.sin_port = htons(5678); | |
serverAddr.sin_addr.s_addr = inet_addr("127.0.0.1"); | |
connect(socketC, (SOCKADDR*)&serverAddr, sizeof(serverAddr)); | |
send(socketC, sendbuf,sizeof(sendbuf), 0); | |
closesocket(socketC); | |
WSACleanup(); | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
//文件:tcp_s.c | |
//描述:tcp服务器端源程序 | |
#include <stdio.h> | |
#include <winsock2.h> | |
#pragma comment(lib, "WS2_32.lib") | |
#define BUF_SIZE 1024 | |
int main(int argc, char** argv) | |
{ | |
WSADATA wsaData; | |
SOCKET socketL; // socket for listening | |
SOCKET socketC; // socket for Communication | |
SOCKADDR_IN serverAddr; | |
int nRet = -1; | |
char recvbuf[BUF_SIZE]; | |
WSAStartup(MAKEWORD(1,1), &wsaData); | |
socketL = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP); | |
serverAddr.sin_family = AF_INET; | |
serverAddr.sin_port = htons(5678); | |
serverAddr.sin_addr.s_addr = htonl(INADDR_ANY); | |
bind(socketL, (SOCKADDR*)&serverAddr, sizeof(serverAddr)); | |
listen(socketL, 5); | |
socketC = accept(socketL, NULL, NULL); | |
if (socket != INVALID_SOCKET) | |
{ | |
nRet = recv(socketC, recvbuf, sizeof(recvbuf), 0); | |
if (nRet > 0) | |
printf("%s ", recvbuf); | |
} | |
closesocket(socketC); | |
closesocket(socketL); | |
WSACleanup(); | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
//文件:udp_c.c | |
//描述:udp客户端源程序 | |
#include <stdio.h> | |
#include <winsock2.h> | |
#pragma comment(lib, "WS2_32.lib") | |
#define BUF_SIZE 1024 | |
int main(int argc, char** argv) | |
{ | |
WSADATA wsaData; | |
SOCKET socketC; | |
SOCKADDR_IN serverAddr; | |
char sendbuf[BUF_SIZE] = "Hello UDP World!"; | |
WSAStartup(MAKEWORD(1,1), &wsaData); | |
socketC = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP); | |
serverAddr.sin_family = AF_INET; | |
serverAddr.sin_port = htons(5679); | |
serverAddr.sin_addr.s_addr = inet_addr("127.0.0.1"); | |
sendto(socketC, sendbuf, sizeof(sendbuf), 0, (SOCKADDR*)&serverAddr, sizeof(serverAddr)); | |
closesocket(socketC); | |
WSACleanup(); | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
//文件:udp_s.c | |
//描述:udp服务器端源程序 | |
#include <stdio.h> | |
#include <winsock2.h> | |
#pragma comment(lib, "WS2_32.lib") | |
#define BUF_SIZE 1024 | |
int main(int argc, char** argv) | |
{ | |
WSADATA wsaData; | |
SOCKET socketC; | |
SOCKADDR_IN serverAddr; | |
char recvbuf[BUF_SIZE]; | |
WSAStartup(MAKEWORD(1,1), &wsaData); | |
socketC = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP); | |
serverAddr.sin_family = AF_INET; | |
serverAddr.sin_port = htons(5679); | |
serverAddr.sin_addr.s_addr = htonl(INADDR_ANY); | |
bind(socketC, (SOCKADDR*)&serverAddr, sizeof(serverAddr)); | |
int nRet = recvfrom(socketC, recvbuf, sizeof(recvbuf), 0, 0, 0); | |
if (nRet > 0) | |
printf("%s ", recvbuf); | |
closesocket(socketC); | |
WSACleanup(); | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment