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

tcp例子程序,求教。

    来源: 互联网  发布时间:2017-04-24

    本文导语:  各位好,我最近学习网络编程,刚写了一个tcp的server端程序,但是运行的时候并不往下走,不知道是什么原因,就是说并没有建立套接字socket。 /*  ============================================================================  Name ...

各位好,我最近学习网络编程,刚写了一个tcp的server端程序,但是运行的时候并不往下走,不知道是什么原因,就是说并没有建立套接字socket。





/*
 ============================================================================
 Name        : tcp_server.c
 Author      : zhich
 Version     :
 Copyright   : Your copyright notice
 Description :
 ============================================================================
 */

#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#define MAXDATASIZE 100


int main(int argc,char *argv[])
{
int connfd,listenfd;
int bytes;
char *msg;
struct sockaddr_in s;
struct sockaddr_in c;
socklen_t c_len;

if(argc!=3)
{
printf("Usage :   n",argv[0]);
exit(1);
}else{
printf("succeed");
}

//建立socket套接字
if((listenfd=socket(AF_INET,SOCK_STREAM,0))==-1)
{
perror("socket:");
exit(1);
}else{
printf("create socket succeed");
}


memset(&s, 0, sizeof(struct sockaddr_in));
//设置端口信息
s.sin_family=AF_INET;
if(argv[2])
s.sin_port=htons(atoi(argv[2]));
if(argv[1])
s.sin_addr.s_addr=inet_addr(argv[1]);


//绑定服务器地址
if(bind(listenfd,(struct sockaddr *) &s,sizeof(s))==-1)
{
perror("bind:");
exit(1);
}else{
printf("bind succeed");
}


//监听
if(listen(listenfd,20)==-1)
{
perror("listen:");
exit(1);
}else {
printf("listen succeed");
}

c_len=sizeof(c);

//接受来自客户端的请求
if((connfd=accept(listenfd,(struct sockaddr *) &c,&c_len))==-1)
{
perror("accept:");
exit(1);
}else{
printf("accept succeed");
}


//接受数据
while(1)
{

if(bytes=recv(connfd,msg,MAXDATASIZE,0)==-1)
{
perror("recv:");
exit(1);
}

msg[bytes]='';
printf("receive data from client: %s",msg);

}

close(connfd);
close(listenfd);

return 0;
}

|
if((listenfd=socket(AF_INET,SOCK_STREAM,0))==-1)
{
perror("socket:");
exit(1);
}else{
printf("create socket succeedn");
}
试试都加上n,再看不到输出就.....

|
骚年,把你的printf()函数中都加上"n"就可以了!

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 如何在Linux系统上运行T/TCP程序
  • TCP数据流抓取程序 tcpflow
  • 关于 tcp 通讯的程序 高分赠送
  • 请问:哪里可以下tcp/ip详解书上程序的源码
  • ubuntu下tcp程序问题
  • TCP程序非正常退出
  • linux TCP通信程序 本地进程被对方强制退出
  • Linux Kernel/Network 技术QQ群14888802,只加有内核开发、TCP/IP协议栈开发的程序员,不加新手和做应用开发的程序员。
  • c编写的tcp服务程序 文件描述符一直增加 怎么办???
  • 求救:基于TCP的服务/客户端程序
  • DOS 网络开发包和源程序: Microsoft TCP/IP Sockets Development Kit 1.0 for dos & windows ,大家可以去下载了
  • 在linux下面,为什么TCP服务器端在客户端没有断开前推出程序会关不掉socket?
  • linux编程设计:如何实时监控并统计应用程序通过linux服务器各端口的流量,以及显示及时速率,源IP,目的IP,类型(TCP、UDP、FTP、HTTP等)?
  • 求linux下socket编程(tcp)实现文件传送的源程序
  • 请问:TCP程序为何有时会丢包,请各位大哥指点
  • .Net WInform开发笔记(二)Winform程序运行结构图及TCP协议在Winform中的应用
  • TCP服务端程序意外重启后,客户端连接不上的问题求解
  • win2003应用程序日志-状态服务器已关闭超时的 TCP/IP 连接的解决方法
  • TCP/IP程序中 字符串的问题
  • 我编写了一段基于TCP通信的server程序,遇到了一个问题,急!
  • java命名空间java.net接口socketoptions的类成员方法: tcp_nodelay定义及介绍
  • http走的是tcp还是udp?ssh是tcp还是udp?
  • Linux内核中影响tcp三次握手的一些协议配置
  • 100分求《嵌入式系统Web服务器—TCP/IP Lean》或《TCP/IP Lean Web Servers for Embedded Systems 》
  • TCP协议报头字段详解及报头图
  • tcp和udp套接字有何不同?在什么情况下用tcp什么情况下用udp????
  • 对TCP协议状态及状态转换理解
  • tcp_prequeue_process怎么调用了tcp_v4_do_rcv的??求解??在tcp_recvmsg调用的
  • TCP协议四次断连过程介绍及Linux内核协议栈中相关设置项
  • 请问怎么知道每个TCP连接所属哪个进程??还有怎么样断开系统中任意一个TCP连接?
  • TCP协议三次握手过程详解


  • 站内导航:


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

    ©2012-2021,