一个Socket网络编程的简单例子
2008-10-28 00:51
357 查看
服务器端源码:
#include <winsock2.h>
#include <stdio.h>
#include <iostream>
#pragma comment(lib, "ws2_32.lib")
int main(void)
{
WORD wVer;
WSADATA wsaData;
int err;
wVer = MAKEWORD(2, 1);
err = WSAStartup(wVer, &wsaData);
if (err != 0)
{
return 0;
}
SOCKET socketServ = socket(AF_INET, SOCK_STREAM, 0);
SOCKADDR_IN addrServ;
addrServ.sin_addr.S_un.S_addr = htonl(INADDR_ANY);
addrServ.sin_family = AF_INET;
addrServ.sin_port = htons(6000);
bind(socketServ, (SOCKADDR *)&addrServ, sizeof(SOCKADDR));
listen(socketServ, 5);
SOCKADDR_IN addrClient;
int len = sizeof(SOCKADDR);
while(1)
{
SOCKET sockConn = accept(socketServ, (SOCKADDR *)&addrClient, &len);
char sendBuff[100];
sprintf(sendBuff, "Welcome to %s http://www.sxs.la.",inet_ntoa(addrClient.sin_addr));
send(sockConn, sendBuff, strlen(sendBuff) + 1, 0);
char recvBuff[100];
recv(sockConn, recvBuff, 100, 0);
printf("%s/n", recvBuff);
closesocket(sockConn);
}
return 0;
}
客户端程序源码:
#include <winsock2.h>
#include <iostream>
#pragma comment(lib, "ws2_32.lib")
int main(void)
{
WORD wVer;
WSADATA wsaData;
int err;
wVer = MAKEWORD(2, 1);
err = WSAStartup(wVer, &wsaData);
if (err != 0)
{
printf("abc");
return 0;
}
SOCKET socketClient = socket(AF_INET, SOCK_STREAM, 0);
SOCKADDR_IN addrServ;
addrServ.sin_addr.S_un.S_addr = inet_addr("127.0.0.1");
addrServ.sin_family = AF_INET;
addrServ.sin_port = htons(6000);
connect(socketClient, (SOCKADDR*)&addrServ, sizeof(SOCKADDR));
char recvBuff[100];
recv(socketClient, recvBuff, 100, 0);
printf("%s/n", recvBuff);
//char sendBuff[100];
send(socketClient, "This is Client!", strlen("This is Client!") + 1, 0);
closesocket(socketClient);
WSACleanup();
return 0;
}
#include <winsock2.h>
#include <stdio.h>
#include <iostream>
#pragma comment(lib, "ws2_32.lib")
int main(void)
{
WORD wVer;
WSADATA wsaData;
int err;
wVer = MAKEWORD(2, 1);
err = WSAStartup(wVer, &wsaData);
if (err != 0)
{
return 0;
}
SOCKET socketServ = socket(AF_INET, SOCK_STREAM, 0);
SOCKADDR_IN addrServ;
addrServ.sin_addr.S_un.S_addr = htonl(INADDR_ANY);
addrServ.sin_family = AF_INET;
addrServ.sin_port = htons(6000);
bind(socketServ, (SOCKADDR *)&addrServ, sizeof(SOCKADDR));
listen(socketServ, 5);
SOCKADDR_IN addrClient;
int len = sizeof(SOCKADDR);
while(1)
{
SOCKET sockConn = accept(socketServ, (SOCKADDR *)&addrClient, &len);
char sendBuff[100];
sprintf(sendBuff, "Welcome to %s http://www.sxs.la.",inet_ntoa(addrClient.sin_addr));
send(sockConn, sendBuff, strlen(sendBuff) + 1, 0);
char recvBuff[100];
recv(sockConn, recvBuff, 100, 0);
printf("%s/n", recvBuff);
closesocket(sockConn);
}
return 0;
}
客户端程序源码:
#include <winsock2.h>
#include <iostream>
#pragma comment(lib, "ws2_32.lib")
int main(void)
{
WORD wVer;
WSADATA wsaData;
int err;
wVer = MAKEWORD(2, 1);
err = WSAStartup(wVer, &wsaData);
if (err != 0)
{
printf("abc");
return 0;
}
SOCKET socketClient = socket(AF_INET, SOCK_STREAM, 0);
SOCKADDR_IN addrServ;
addrServ.sin_addr.S_un.S_addr = inet_addr("127.0.0.1");
addrServ.sin_family = AF_INET;
addrServ.sin_port = htons(6000);
connect(socketClient, (SOCKADDR*)&addrServ, sizeof(SOCKADDR));
char recvBuff[100];
recv(socketClient, recvBuff, 100, 0);
printf("%s/n", recvBuff);
//char sendBuff[100];
send(socketClient, "This is Client!", strlen("This is Client!") + 1, 0);
closesocket(socketClient);
WSACleanup();
return 0;
}
相关文章推荐
- 一个Socket网络编程的简单例子
- NodeJS+Express+Socket.io的一个简单例子
- 一个简单的socket例子
- 一个简单的socket客户端和服务端的例子
- [C++] Windows下的socket编程(这是一个简单的TCP/IP例子)
- 用socket.io实现WebSocket的一个简单例子
- 一个简单的socket客户端和服务端的例子
- socket编程——一个简单的例子
- unix socket网络编程TCP简单例子
- socket编程——一个简单的例子
- [C++] Windows下的socket编程(这是一个简单的TCP/IP例子)
- 一个关于linux socket的简单例子
- 一个简单socket的例子
- win32 socket的一个简单的例子 控制台
- 一个最简单的Socket通信例子
- win32 socket的一个简单的例子
- 一个关于linux socket的简单例子
- ServerSocket的一个简单例子,学习backlog参数的设置,即可以接受客户端的数量
- socket编程——一个简单的例子
- [C++] Windows下的socket编程(这是一个简单的TCP/IP例子)