您的位置:首页 > 理论基础 > 计算机网络

Win Socket 学习 (Tcp和Udp)

2012-03-31 10:30 357 查看
主要是winSock的函数的使用,代码只是示例如何使用,没有什么很特别的地方。同步winSock编程比较简单,高级部分需要看异步socket编程。

Tcp示例代码功能:服务器端启动并等待客户端信息,收到信息处理并显示,然后将信息回送给客户端,客户端再显示。

TcpServer

UdpClient

#include <winsock2.h>
#include <iostream>
#include <string>
#pragma comment(lib, "ws2_32.lib")

using namespace std;

#define BUFSIZE 1024
#define PORT 9999
int main()
{
WSADATA wsadata;
SOCKET sClient;
sockaddr_in addrServer;
int addrServerLen = sizeof(addrServer);
char buf[BUFSIZE];

if(WSAStartup(MAKEWORD(2,2), &wsadata) != 0)
{
cout << "WSAStartup失败!" << endl;
return -1;
}

sClient = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP);
addrServer.sin_family = AF_INET;
addrServer.sin_port = htons(PORT);
addrServer.sin_addr.S_un.S_addr = inet_addr("127.0.0.1");

cout << "请输入要发送给服务器的内容:" << endl;
cin.getline(buf, BUFSIZE);
sendto(sClient, buf, BUFSIZE, 0, (SOCKADDR *)&addrServer, addrServerLen);
memset(buf, 0, BUFSIZE);

recvfrom(sClient, buf, BUFSIZE, 0, (SOCKADDR *)&addrServer, &addrServerLen);
cout << buf << endl;

closesocket(sClient);

WSACleanup();

return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: