TCP Server—Linux
#include <stdio.h>
#include <netinet/ip.h> #define BUFF_SIZE 1024 int main(int argc,char *argv[])
{ int a = 0;
int iSock = 0, tmpSock = 0;
int opt = 0;
int iRet = 0;
int iRes = 0;
int iFileDesc = 0;
int iFileRet = 0;
unsigned short usPeerPort = 11000;
char *pPeerIP = "192.168.1.100";
unsigned char pRecvBuff[20480];
unsigned char pSendBuff[20480] = "I'm Zynq ^_^";
time_t now;
struct tm *p;
unsigned int uiCnt = 0;
unsigned int uiPeriod = 0;
unsigned int uiSpeed = 0;
unsigned int uiTmp = 0;
char filePre[20] = {0};
char fileName[100] = {0};
char cmd[100] = {0};
struct sockaddr_in addrLocal, addrPeer;
static unsigned int s_uiLen = 0; memset(pRecvBuff, 0x00, 1024); iSock = socket(AF_INET, SOCK_STREAM, 0);
if (iSock < 0)
{
printf("Create socket error![%d]\n", iSock);
return 0;
} //iRes = 1;
//ioctlsocket(iSock, FIONBIO, (u_long FAR*)&iRes); /* 设置本地的IP地址 */
addrLocal.sin_family = AF_INET;
addrLocal.sin_port = htons(8960);
addrLocal.sin_addr.s_addr = htonl(INADDR_ANY);
//addrLocal.sin_addr.S_un.S_addr = inet_addr("10.10.22.100"); ///* 设置远端的IP地址 --by cqs */
//addrPeer.sin_family = AF_INET;
//addrPeer.sin_port = htons(usPeerPort);
//addrPeer.sin_addr.s_addr = inet_addr(pPeerIP); iRet = bind(iSock, (struct sockaddr *)&addrLocal, sizeof(struct sockaddr));
if (iRet < 0)
{
printf("bind error\n");
return 0;
} iRet = listen(iSock, 5);
if (iRet < 0)
{
printf("listen error\n");
return 0;
} opt = sizeof(struct sockaddr);
tmpSock = accept(iSock, (struct sockaddr *)&addrPeer, &opt);
if (tmpSock > 0)
{
printf("accepted %d.\n", tmpSock);
}
else
{
printf("accepted error %d.\n", tmpSock);
} while(1)
{
iRet = recv(tmpSock, pRecvBuff, BUFF_SIZE, 0);
if (iRet > 0)
{
printf("%s.\n", pRecvBuff); }
} close(tmpSock);
close(iSock); return 0;
}
TCP Server—Linux的更多相关文章
- Socket TCP Server一个端口可以有多少个长连接?受到什么影响?linux最大文件句柄数量总结
Socket TCP Server一个端口可以有多少个长连接? 网上答案很多,不知道那个才是正确的 理论上是无限的 16.Linux中,一个端口能够接受tcp链接数量的理论上限是? A.1024 B. ...
- 用qemu+gdb tcp server+CDT调试linux内核启动-起步
用qemu+gdb tcp server+CDT调试linux内核启动-起步 说明: 环境信息与 用virtualbox+模拟串口+CDT调试linux内核 TCP IP协议栈-起步 提到的一样,并且 ...
- Linux TCP server 只能接受一个 TCP 连接
#include <stdio.h> #include <sys/types.h> #include <sys/socket.h> #include <str ...
- [转]一个基于完成端口的TCP Server Framework,浅析IOCP
[转]一个基于完成端口的TCP Server Framework,浅析IOCP http://www.cppblog.com/adapterofcoms/archive/2010/06/26/1187 ...
- Building a Non-blocking TCP server using OTP principles
转自:https://erlangcentral.org/wiki/index.php/Building_a_Non-blocking_TCP_server_using_OTP_principles ...
- TCP server 为什么一个端口可以建立多个连接?
https://segmentfault.com/q/1010000003101541 如果是tcp client用同一个本地端口去连不同的两个服务器ip,连第二个时就会提示端口已被占用.但服务器的监 ...
- Python之tcp server模拟Http通信
1.python tcp server代码: import socket def main(): tcp_server_socket = socket.socket(socket.AF_INET, s ...
- socket - socketserver - start TCP server
前面提到如何使用socket模块启动tcpserver: 创建socket:sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) 绑定ip: ...
- [转] 3个学习Socket编程的简单例子:TCP Server/Client, Select
以前都是采用ACE的编写网络应用,最近由于工作需要,需要直接只用socket接口编写CS的代码,重新学习这方面的知识,给出自己所用到的3个简单例子,都是拷贝别人的程序.如果你能完全理解这3个例子,估计 ...
随机推荐
- win10下搭建QTP测试环境
安装环境win 10 64位企业版 个人学习用1..net 3.5无法安装更新问题解决:打开windows update 服务2.win10 安装中提示为了对电脑进行保护,已经阻止此应用,请与管理员联 ...
- 为什么Smalltalk不流行
最近读到一本书,说Python程序员比Java程序员聪明.同理,懂Smalltalk的程序员也比Java程序员聪明.所以,我在StackOverflow上找到这个关闭很久的问题,整理了一下,跟大家分享 ...
- 一个暂时无法理解的bug
BUG bug的存在是不可避免的 一个静态变量,改成绝对地址之后可以生成静态页面.但是主页有一个用了静态变量的超链接就不能用, 最后我加了一个相对地址的静态变量,可以解决这个问题.
- angularjs 作用域
1.指令属性取值:通过attr.someAttribute属性名字获取 以下,通过$eval(attr.data)获取value <div ng-controller="personC ...
- 结合阿里云服务器,设置家中jetson tk1随时远程登陆
前提条件: 1.路由配置dmz主机为tk1的ip ,设置路由器中ssh 端口22的访问权限 2.有一台远程服务器,服务器安装了php可以运行php文件(我使用的是阿里云) 家中tk1配置: 脚本pyt ...
- git 命令大全
git init # 初始化本地git仓库(创建新仓库) git config --global user.name "xxx" # 配置用户名 git config --glob ...
- Services (服务)
*/ .hljs { display: block; padding: 0.5em; background: #F0F0F0; } .hljs, .hljs-subst, .hljs-tag .hlj ...
- [转]oracle job有定时执行的功能,可以在指定的时间点或每天的某个时间点自行执行任务。
oracle job有定时执行的功能,可以在指定的时间点或每天的某个时间点自行执行任务. 一.查询系统中的job,可以查询视图 --相关视图 select * from dba_jobs; selec ...
- MongoDB学习笔记-06 数据库命令、固定集合、GridFS、javascript脚本
介绍MongoDB支持的一些高级功能: 数据库命令 固定大小的集合 GridFS存储大文件 MongoDB对服务端JavaScript的支持 数据库命令 命令的原理 MongoDB中的命令其实是作为一 ...
- Connecting sql server2008 through C#
本实例只在于将通过ASP.NET上的控件(如button.textbox等)结合C#中类的应用,将自己需要的数据存入当地的SQL SERVER数据库中 首先我们在项目中需要建立一个ASP.NET We ...