#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的更多相关文章

  1. Socket TCP Server一个端口可以有多少个长连接?受到什么影响?linux最大文件句柄数量总结

    Socket TCP Server一个端口可以有多少个长连接? 网上答案很多,不知道那个才是正确的 理论上是无限的 16.Linux中,一个端口能够接受tcp链接数量的理论上限是? A.1024 B. ...

  2. 用qemu+gdb tcp server+CDT调试linux内核启动-起步

    用qemu+gdb tcp server+CDT调试linux内核启动-起步 说明: 环境信息与 用virtualbox+模拟串口+CDT调试linux内核 TCP IP协议栈-起步 提到的一样,并且 ...

  3. Linux TCP server 只能接受一个 TCP 连接

    #include <stdio.h> #include <sys/types.h> #include <sys/socket.h> #include <str ...

  4. [转]一个基于完成端口的TCP Server Framework,浅析IOCP

    [转]一个基于完成端口的TCP Server Framework,浅析IOCP http://www.cppblog.com/adapterofcoms/archive/2010/06/26/1187 ...

  5. Building a Non-blocking TCP server using OTP principles

    转自:https://erlangcentral.org/wiki/index.php/Building_a_Non-blocking_TCP_server_using_OTP_principles ...

  6. TCP server 为什么一个端口可以建立多个连接?

    https://segmentfault.com/q/1010000003101541 如果是tcp client用同一个本地端口去连不同的两个服务器ip,连第二个时就会提示端口已被占用.但服务器的监 ...

  7. Python之tcp server模拟Http通信

    1.python tcp server代码: import socket def main(): tcp_server_socket = socket.socket(socket.AF_INET, s ...

  8. socket - socketserver - start TCP server

    前面提到如何使用socket模块启动tcpserver: 创建socket:sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) 绑定ip: ...

  9. [转] 3个学习Socket编程的简单例子:TCP Server/Client, Select

    以前都是采用ACE的编写网络应用,最近由于工作需要,需要直接只用socket接口编写CS的代码,重新学习这方面的知识,给出自己所用到的3个简单例子,都是拷贝别人的程序.如果你能完全理解这3个例子,估计 ...

随机推荐

  1. spring知识大全(4)

    5 Spring对事务的支持 一.AOP事务的含义: 事务当作一个切面,动态地织入到目标对象,形成一个代理对象. 二.Spring的事务机制 Spring支持声明式事务. Spring使用事务服务代理 ...

  2. error C2664

    error C2664: “int CWnd::MessageBoxW(LPCTSTR,LPCTSTR,UINT)”: 无法将参数 1 从“const char [19]”转换为“LPCTSTR” n ...

  3. JS、C#及SQL中的DateTime

    一:SQL中的DataTime 1.       between and 相当于>= and <= 2.       常用的将DataTime查询成字符串的方法 Select CONVER ...

  4. C# 微信v3退款

    1.退款需要退款证书.C#都是用p12的证书,双击证书导入,密码是mch_id(商户号) 2.调用微信退款接口进行退款操作 string resp=string.Empty string cert = ...

  5. 慕课网Java高并发秒杀学习

    课程地址:http://www.imooc.com/learn/587 一个很好:spring,springMVC,mybatis,bootstrap,jQuery,mysql,Restful学习案例 ...

  6. 简单的css js控制table隔行变色

    (1)用expression 鼠标滑过变色: <style type="text/css"><!-- table { background-color:#0000 ...

  7. Spring 学习笔记 3. 尚硅谷_佟刚_Spring_配置 Bean

    1,bean 的配置 <bean id="helloWorld" class="com.yfy.HelloWorld"> <property ...

  8. 基于 Winform + DotNetBar 写的股市行情助手

    StockViewer 股市行情助手 简介 观看股市行情,窗口太显眼,是否担心被身后的老板发现? 窗口来回切换,工作时每隔几分钟就要看一眼股市.难道只能同时做一件事情吗? 现在,一款完全免费.开源的小 ...

  9. Titanium系列--对Window和View的一点理解

    1. window相当于一块屏幕,view相当于一个div层.window拥有全屏和模态化属性,view则没有这2个属性. 2. 创建一个window作为我们的APP的屏幕,之后我们将添加其他元素来丰 ...

  10. Windows文件系统漏洞

    1.Windows中很有用的文件替换命令,绕过文件保护用来替换文件的replace,连正在使用的文件也能替换.非常无敌. 比如:在C:下建一个目录,c:aaa 然后复制一首mp3到c:aaa并命名为c ...