CodeBlocks下的C语言网络编程
2009-02-16 15:09
417 查看
#include <stdio.h>
#include "winsock2.h"
void NetServer()
{
//----------------------
// Initialize Winsock
WSADATA wsaData;
int iResult = WSAStartup(MAKEWORD(2,2), &wsaData);
if (iResult != NO_ERROR)
printf("Error at WSAStartup()/n");
//-------------------------------------------------------
// Create a SOCKET for connecting to server
SOCKET ConnectSocket;
ConnectSocket = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
if (ConnectSocket == INVALID_SOCKET)
{
printf("Error at socket(): %ld/n", WSAGetLastError());
WSACleanup();
return;
}
//-------------------------------------------------------
int fd;
int address_len;
struct sockaddr_in address;
//建立套接口
fd = socket(AF_INET, SOCK_STREAM, 0);
//绑定地址和端口
address.sin_family = AF_INET;
address.sin_addr.s_addr = htonl(INADDR_ANY);
address.sin_port = htons(1234);
address_len = sizeof(address);
bind(fd, (struct sockaddr *)&address, address_len);
//建立套接口队列
listen(fd, 5);
while(1)
{
struct sockaddr_in client_address;
int len;
int client_sockfd;
char *data = "Server to Client String!/n";
char data2[100];
printf("waiting...");
fflush(stdout);
//等待
len = sizeof(client_address);
client_sockfd = accept(fd,
(struct sockaddr *)&client_address, &len);
//接收数据
recv(client_sockfd, (void *)data2, 100,0);
printf("server read line:%s", data2);
//发送数据
send(client_sockfd, (void *)data, strlen(data),0);
printf("server send line:%s", data);
//关闭联接
closesocket(client_sockfd);
}
}
编译后出错,然后在CodeBlocks中手动添加WSock32.Lib库,如果电脑中安装了vc,那么在电脑中搜索这个文件名:WSock32.Lib,在CodeBlocks项目文件夹中添加一个lib文件夹,把搜到的WSock32.Lib文件拷贝到lib文件夹中,然后在CodeBlocks中点击:Setting->Compiler and Debugger Settings,找到Link Settings,点击Add按钮,把lib文件夹中的WSock32.Lib添加进去,编译,OK!
#include "winsock2.h"
void NetServer()
{
//----------------------
// Initialize Winsock
WSADATA wsaData;
int iResult = WSAStartup(MAKEWORD(2,2), &wsaData);
if (iResult != NO_ERROR)
printf("Error at WSAStartup()/n");
//-------------------------------------------------------
// Create a SOCKET for connecting to server
SOCKET ConnectSocket;
ConnectSocket = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
if (ConnectSocket == INVALID_SOCKET)
{
printf("Error at socket(): %ld/n", WSAGetLastError());
WSACleanup();
return;
}
//-------------------------------------------------------
int fd;
int address_len;
struct sockaddr_in address;
//建立套接口
fd = socket(AF_INET, SOCK_STREAM, 0);
//绑定地址和端口
address.sin_family = AF_INET;
address.sin_addr.s_addr = htonl(INADDR_ANY);
address.sin_port = htons(1234);
address_len = sizeof(address);
bind(fd, (struct sockaddr *)&address, address_len);
//建立套接口队列
listen(fd, 5);
while(1)
{
struct sockaddr_in client_address;
int len;
int client_sockfd;
char *data = "Server to Client String!/n";
char data2[100];
printf("waiting...");
fflush(stdout);
//等待
len = sizeof(client_address);
client_sockfd = accept(fd,
(struct sockaddr *)&client_address, &len);
//接收数据
recv(client_sockfd, (void *)data2, 100,0);
printf("server read line:%s", data2);
//发送数据
send(client_sockfd, (void *)data, strlen(data),0);
printf("server send line:%s", data);
//关闭联接
closesocket(client_sockfd);
}
}
编译后出错,然后在CodeBlocks中手动添加WSock32.Lib库,如果电脑中安装了vc,那么在电脑中搜索这个文件名:WSock32.Lib,在CodeBlocks项目文件夹中添加一个lib文件夹,把搜到的WSock32.Lib文件拷贝到lib文件夹中,然后在CodeBlocks中点击:Setting->Compiler and Debugger Settings,找到Link Settings,点击Add按钮,把lib文件夹中的WSock32.Lib添加进去,编译,OK!
相关文章推荐
- Boost+codeblocks编译和编程
- C语言网络编程基础1.1
- Linux下Socket网络编程,文件传输,数据传输的C语言例子
- Code::Blocks快捷键大全(附汉化教程及其文件) 摘自网络
- Code::Blocks快捷键大全(附汉化教程及其文件) 摘自网络
- Code Blocks+wx Widgets编程环境安装
- 网络编程:基于C语言的简易代理服务器实现(proxylab)
- c语言编程--网络编程模式
- Linux下Socket网络编程,文件传输,数据传输的C语言例子
- Android调用so库(c语言编写) Codeblocks+adt-win-x86+ndk-r9c
- linux下C语言socket网络编程简例
- C语言网络编程——三次握手协议
- 关于C语言中函数值传递的巩固,指向指针的指针 【网络编程获取借口列表时,使用了指针的指针的思考】
- 网络socket编程指南(C语言)
- codeblocks socket编程
- Code Blocks+wx Widgets编程环境安装(转)
- 我的第一个作品(编程环境:Code::Blocks + wxWidgets)
- 网络socket编程指南(C语言)
- C语言连接MySql数据库(CodeBlocks)
- Linux下Socket网络编程,文件传输,数据传输的C语言例子