windows socket
//服务器
// winsvr.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include <winsock2.h>
#include <conio.h>
#include <stdio.h>
#pragma comment(lib, "ws2_32.lib") void TCTServer()
{
SOCKET socksvr = socket(AF_INET, SOCK_STREAM,
IPPROTO_TCP);
if(INVALID_SOCKET == socksvr) {
return;
}
struct sockaddr_in svraddr = {};
svraddr.sin_family = AF_INET;
svraddr.sin_port = htons();
svraddr.sin_addr.S_un.S_addr = htonl(INADDR_ANY);
bind(socksvr, (struct sockaddr*)&svraddr,
sizeof(svraddr));
listen(socksvr, SOMAXCONN);
struct sockaddr_in clientaddr = {};
int nLen = sizeof(clientaddr);
SOCKET sockclient =
accept(socksvr, (struct sockaddr*)&clientaddr, &nLen); char szText[] = {};
recv(sockclient, szText, , );
printf("%s\n", szText);
char szSend[] = "Hello Client";
send(sockclient, szSend, sizeof(szSend), );
getch();
closesocket(sockclient);
closesocket(socksvr); } int main(int argc, char* argv[]) { WSADATA wsa = {};
WSAStartup(MAKEWORD(,), &wsa); TCTServer(); return ;
}
//客户端
// wincli.cpp : Defines the entry point for the console application.
// #include "stdafx.h"
#include <winsock2.h>
#include <conio.h>
#include <stdio.h>
#pragma comment(lib, "ws2_32.lib") void TCPClient()
{
SOCKET sockclient =
socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
if(INVALID_SOCKET == sockclient) {
return;
}
struct sockaddr_in addr = {};
addr.sin_family = AF_INET;
addr.sin_port = htons();
addr.sin_addr.S_un.S_addr =
inet_addr("127.0.0.1");
//连接到服务器
connect(sockclient, (struct sockaddr*)&addr, sizeof(addr));
char szSend[] = "Hello Server";
send(sockclient, szSend, sizeof(szSend), );
char szText[] = {};
recv(sockclient, szText, , );
printf("%s\n", szText);
getch();
closesocket(sockclient); }
int main(int argc, char* argv[])
{
WSADATA wsa = {};
WSAStartup(MAKEWORD(,), &wsa);
TCPClient();
return ;
}
windows socket的更多相关文章
- 高性能 Windows Socket 组件 HP-Socket v3.0.2 正式发布
HP-Socket 是一套通用的高性能 Windows Socket 组件包,包含服务端组件(IOCP 模型)和客户端组件(Event Select 模型),广泛适用于 Windows 平台的 TCP ...
- 高性能 Windows Socket 组件 HP-Socket v3.0.1 正式发布
HP-Socket 是一套通用的高性能 Windows Socket 组件包,包含服务端组件(IOCP 模型)和客户端组件(Event Select 模型),广泛适用于 Windows 平台的 TCP ...
- 高性能 Windows Socket 组件 HP-Socket v2.3.1-beta-2 发布
HP-Socket 是一套通用的高性能 Windows Socket 组件包,包含服务端组件(IOCP 模型)和客户端组件(Event Select 模型),广泛适用于 Windows 平台的 TCP ...
- 高性能 Windows Socket 组件 HP-Socket v2.3.1-beta-1 发布
HP-Socket 是一套通用的高性能 Windows Socket 组件包,包含服务端组件(IOCP 模型)和客户端组件(Event Select 模型),广泛适用于 Windows 平台的 TCP ...
- 高性能 Windows Socket 组件 HP-Socket v2.2.3 正式发布
HP-Socket 是一套通用的高性能 Windows Socket 组件包,包含服务端组件(IOCP 模型)和客户端组件(Event Select 模型),广泛适用于 Windows 平台的 TCP ...
- 通用高性能 Windows Socket 组件 HP-Socket v2.2.2 正式发布
HP-Socket 是一套通用的高性能 Windows Socket 组件包,包含服务端组件(IOCP 模型)和客户端组件(Event Select 模型),广泛适用于 Windows 平台的 TCP ...
- linux tcp/ip编程和windows tcp/ip编程差别以及windows socket编程详解
最近要涉及对接现有应用visual c++开发的tcp客户端,花时间了解了下windows下tcp开发和linux的差别,从开发的角度而言,最大的差别是头文件(早期为了推广尽可能兼容,后面越来越扩展, ...
- 转:Windows Socket五种I/O模型
原文转自: Windows Socket五种I/O模型 Winsock 的I/O操作: 1. 两种I/O模式 阻塞模式:执行I/O操作完成前会一直进行等待,不会将控制权交给程序.套接字 默认为阻塞模 ...
- 【windows socket+TCPserverclient】
Windows Socket+TCPserverclient Winsock是 Windows下套接字标准. Socket套接字基于计算机网络,提供同一系统上不同进程或由局 ...
- Windows Socket五种I/O模型
转载:http://www.cnblogs.com/tianzhiliang/archive/2010/08/31/1813637.html 如果你想在Windows平台上构建服务器应用,那么I/O模 ...
随机推荐
- python导入opencv解决no module named cv2问题
最近ubuntu用的比较多,在写神经网络代码时也会经常接触到python,但是python的环境配置确实是个头疼的问题. 尤其是接触到opencv时,需要导入opencv的库文件,网上也有很多方法,本 ...
- centos7下搭建nginx+php7.1+mariadb+memcached+redis
一.环境准备 1.首先介绍一下环境,以及我们今天的主角们 我用的环境是最小化安装的centos7,mariadb(江湖传言mysql被oracle收购后,人们担心像java一样毁在oracle手上于是 ...
- git的一些命令行
以下代码均在命令行中执行:在目标文件夹目录下: 1.初始化一个Git仓库,使用git init命令. 2.添加文件到Git仓库,分两步: 第一步,使用命令git add <file>,注意 ...
- ubuntu java开发环境搭建(jdk+tomcat+eclipse)
一.jdk的安装配置. 1.下载jdk. 下载地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-213 ...
- 20161020001 DataGridView 选中的 DataGridViewCheckBoxCell 不添加重复项
private void btn_add_Click(object sender, EventArgs e) { string str_P_ID = "& ...
- Oculus中OVRPlayerController飞行视角的制作
最近项目上的事,忙的不可开交.忙里偷闲,记录下Oculus飞行视角的制作 师兄给我的要求是,带上Oculus,通过remote和头盔操作,可以完成飞行我的解决办法:1.消除重力的影响,如同在真空中,就 ...
- Oracle(DML)
数据操作语言: insert update delete 事务控制语言: commit rollback savepoint 1.insert语句 两种格式: 直接插入 子查询插入 1. 直接插入基本 ...
- LRU页面置换算法
本文以序列长度20的{ 7,0,1,2,0,3,0,4,2,3,0,3,2,1,2,0,1,7,0,1};以及页面4:为例: #include <stdio.h> #define Init ...
- 利用cytoscape做网络图
首先做出下面的基因间相互关系图 1.准备sif文件 data.sif 网络数据文件 gene1 pp gene2 gene3 gene4 gene5 gene6 gene7 gene8 gene9 n ...
- jQuery(一)
1,浏览器内核不同-->兼容性问题-->不同浏览器相对应不同代码 2,javascript框架, 只写代码,不用考虑浏览器兼容问题 prototype.mootools.jQuery(目 ...