当前位置:  技术问答>linux和unix

谁有Linux下的TCP/IP编程的例子,侦听,接收,发送,继续循环侦听

    来源: 互联网  发布时间:2015-10-15

    本文导语:  ? | #include  #include  #include  #include  #include  #include  #include  #include  #include  #include  #include  #define SOCKET_ERROR -1 #define INVALID_SOCKET  -1 int CreateListeningSocket(const char* ip, unsigned short port, int* err_co...

?

|

#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 

#define SOCKET_ERROR -1
#define INVALID_SOCKET  -1

int CreateListeningSocket(const char* ip, unsigned short port, int* err_code)
{
int on = 1;
int ret = 0;
int sockfd;
struct sockaddr_in sin;

if(lpszAddr != NULL){
sin.sin_addr.s_addr = inet_addr(lpszAddr);
assert(sin.sin_addr.s_addr != INADDR_NONE);
}else{
    sin.sin_addr.s_addr = htonl(INADDR_ANY);
}
sin.sin_family=AF_INET;
sin.sin_port=htons(port);

if( (sockfd=socket(AF_INET,SOCK_STREAM,0)) != SOCKET_ERROR &&
    (ret = setsockopt(sockfd, SOL_SOCKET, SO_REUSEADDR, (char*)&on, sizeof(on))) != SOCKET_ERROR &&
    (ret = bind(sockfd,(struct sockaddr *)&sin,sizeof(sin))) != SOCKET_ERROR &&
    (ret = listen(sockfd,5)) != SOCKET_ERROR){
return sockfd;
}

if(ret == SOCKET_ERROR){
*err_code = errno;
if(sockfd != SOCKET_ERROR){
close(sockfd);
sockfd = SOCKET_ERROR;
}
}

return sockfd;
}


static void handle_client(int cs, const socdaddr_in* sinSrc)
{
char str[200];
int n;

n = ::recv(cs, str, sizeof(str), 0); 
if (n == 0){
printf("socket closedn");
}else if (n 

    
 
 

您可能感兴趣的文章:

  • LINUX ENT4U4下,能否把应用程序的侦听端口设置成80?
  • 怎么实现Windows和Linux之间数据的接收发送
  • Linux下怎么用socket接收zip文件流?怎么把zip文件读成流?
  • 嵌入式linux 组播接收问题
  • 讨论一下:linux和lwip中的接收缓冲区结构哪个好呢?
  • 如何让linux不自动接收服务器发来的ipv6地址
  • linux 如何接收发送邮件?
  • 高手请进:LINUX端口数据接收问题
  • Linux下的Qmail、Sendmail是怎样来判断邮件发送和接收。
  • 如何在Linux运行期间终止网卡接收数据?
  • Linux下,如何读取网卡接收的数据包啊?
  • 请问在linux上tcp能够接收的最大连接数是多少?
  • linux下SPI接收数据的问题
  • linux 如何接收网内UDP的广播包
  • 怎么使用outlook一类的客户端接收远程linux的系统邮件
  • 在LINUX系统中如果网络设备没有中断的话,可以通过查询接收包吗?谢谢!
  • linux怎样将网卡接收到的数据包交给不同模块处理
  • linux下进程接收不到SIGPIPE信号!!
  • 请问linux下socket编程服务器数据只能发送不能接收吗?
  • WINDOWS和LINUX 下网络接收数据问题!
  • linux 下清空串口发送接收缓冲区的函数.
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 如何编译Linux Device Driver中的例子
  • 哪里可以找到linux下的TCP/UDP/IP编程教程和例子?
  • 给点linux下的c程序的简单例子
  • Linux设备驱动(第三版)- 字符设备驱动 - 例子
  • 关于linux设备驱动的第一个例子
  • 谁有完整的java在linux下读excel的完整下载包URL,例子,文档,很急!!!!多少分都行
  • 谁能给一个linux/unix下多线程同步的例子
  • 求个linux多线程编程的例子,要有线程池的 通用些更好
  • 我想学c/s模式的linux网络编程,那位同志可以推荐一下几个成功例子呢?谢谢!
  • 求linux开机自动运行用户程序脚本例子!在线等
  • UNIX环境高级编程的例子可以在LINUX下调试吗?
  • 各位请问如何linux下安装程序,和windows 比较什么区别,最好给个例子
  • 那位有linux下的通信编程的例子
  • 急求linux串口通讯的例子.
  • 关于Linux Device Ddriver 3的hello world的例子?
  • 想学习linux下的C++开发,大家有没有好的例子推荐一下!
  • linux device drivers中例子的问题
  • trap '' INT..为什么ctrl+c,不会终止脚本程序呢。这是Linux程序设计里面的例子。
  • linux中使用哪个命令可以得到对方机器的mac地址??给个例子
  • 求Linux C 对文件进行加密解密的例子。
  • linux c/c++ IP字符串转换成可比较大小的数字
  • 在win分区上安装linux和独立分区安装linux有什么区别?可以同时安装吗?(两个linux系统)
  • linux哪个版本好?linux操作系统版本详细介绍及选择方案推荐
  • 在虚拟机上安装的linux上,能像真的linux系统一样开发linux程序么?
  • secureCRT下Linux终端汉字乱码解决方法
  • 我重装window后,把linux的引导区覆盖了,进不了linux怎么办?急啊,望热心的人帮助 (现在有linux的盘)
  • Linux c字符串中不可打印字符转换成16进制
  • 安装vmware软件,不用再安装linux系统,就可以模拟linux系统了,然后可以在其上学习一下LINUX下的基本操作 了?
  • 操作系统 iis7站长之家
  • 红旗Linux主机可以通过127.0.0.1访问,但如何是连网的Win2000机器通过Linux的IP去访问Linux
  • linux命令大全详细分类介绍及常用linux命令文档手册下载


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3