windows socket简单使用--实现客户端链接服务端并发送和接收数据
2016-12-06 10:09
369 查看
#include <Winsock.h>
int main(int argc, char *argv[])
{
int sockfd;
int n;
struct sockaddr_in serv_addr;
char buffer[256];
//在创建socket时首先要进行初始化工作
//
WORD var;
WSADATA Data;
//这里是设置使用socket的版本
var = MAKEWORD(2,2);
WSAStartup(var,&data);//到这里 初始化完成
sockfd = socket(AF_INET, SOCK_STREAM, 0);//创建socket
if (sockfd < 0)
{
DWORD Error = GetLastError();
printf("opening socket error! \n");
exit(-1);
}
bzero(&serv_addr, sizeof(serv_addr));
serv_addr.sin_family = AF_INET;
serv_addr.sin_port = htons(8080); //使用8080端口
serv_addr.sin_addr.s_addr = inet_addr("127.0.0.1");//连接到本机
if (connect(sockfd, (struct sockaddr *) &serv_addr, sizeof(serv_addr)) < 0)//链接成功
{
printf("connecting error! \n");
exit(-1);
}
printf("Please enter the message: ");
bzero(buffer, 256);
fgets(buffer, 255, stdin);
n = send(sockfd, buffer, strlen(buffer));//发送数据
if (n < 0)
printf("error writing to socket! \n");
bzero(buffer, 256);
n = recv(sockfd, buffer, 255);//接收数据
if (n < 0)
printf("error reading from socket! \n");
printf("%s \n",buffer);
return 0;
}
上面只是客户端简单的发送接收数据,关于服务端的有时间再继续写
#include <Winsock.h>
int main(int argc, char *argv[])
{
int sockfd;
int n;
struct sockaddr_in serv_addr;
char buffer[256];
//在创建socket时首先要进行初始化工作
//
WORD var;
WSADATA Data;
//这里是设置使用socket的版本
var = MAKEWORD(2,2);
WSAStartup(var,&data);//到这里 初始化完成
sockfd = socket(AF_INET, SOCK_STREAM, 0);//创建socket
if (sockfd < 0)
{
DWORD Error = GetLastError();
printf("opening socket error! \n");
exit(-1);
}
bzero(&serv_addr, sizeof(serv_addr));
serv_addr.sin_family = AF_INET;
serv_addr.sin_port = htons(8080); //使用8080端口
serv_addr.sin_addr.s_addr = inet_addr("127.0.0.1");//连接到本机
if (connect(sockfd, (struct sockaddr *) &serv_addr, sizeof(serv_addr)) < 0)//链接成功
{
printf("connecting error! \n");
exit(-1);
}
printf("Please enter the message: ");
bzero(buffer, 256);
fgets(buffer, 255, stdin);
n = send(sockfd, buffer, strlen(buffer));//发送数据
if (n < 0)
printf("error writing to socket! \n");
bzero(buffer, 256);
n = recv(sockfd, buffer, 255);//接收数据
if (n < 0)
printf("error reading from socket! \n");
printf("%s \n",buffer);
return 0;
}
上面只是客户端简单的发送接收数据,关于服务端的有时间再继续写
相关文章推荐
- 数据报实现简单的客户端发送数据,服务端接收数据
- 使用zlib模块实现HTTP服务端与客户端实现传输数据压缩
- android使用JSON进行网络数据交换(服务端、客户端)的实现
- Unity使用C#实现简单Scoket连接及服务端与客户端通讯
- 简单socket服务(三)实现多客户端向服务器发送数据并保证服务器接收到数据
- JAVA NIO实现服务端与客户端简单数据传输 JAVA NIO 之一
- 【网络编程】使用流式套接字实现简单的客户端/服务端通信过程
- SilverLight企业应用框架设计【五】客户端调用服务端(使用JSON传递数据,自己实现RESTful Web服务)
- 通过TCP实现客户端服务端简单链接案例
- golang使用net库实现一个简单的服务端和客户端通信
- 使用Unity3D内置Network实现简单的客户端与服务端相连接
- Android客户端配合Servlert服务端实现简单的数据交互
- 使用AIDL实现IPC通信之——实现服务端主动发送数据给客户端
- android使用JSON进行网络数据交换(服务端、客户端)的实现
- 使用流式套接字实现简单的客户端/服务端通信过程
- 使用socket实现简单的客户端和服务端通信(C#语言)
- 一个简单的socket服务端和客户端程序:客户端发送数据给服务端,服务端接收到数据后再给客户端发送数据
- 使用简单的ServiceSockt实现服务端与客户端的通信
- 使用cxf实现webservice的客户端推送数据到服务端并返回状态给客户端
- 使用 AJAX,局部刷新 GridView 进行数据绑定的简单实现