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

谁能提供一段代码

    来源: 互联网  发布时间:2015-04-28

    本文导语:  Linux下通过TCP/IP通信的例子 | //client #include  #include  #include  #include  #include  #include  #include  #define MAX_BUF_SIZE (300) static char buf[MAX_BUF_SIZE] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 0}; int main() { int sock; struct s...

Linux下通过TCP/IP通信的例子

|
//client
#include 
#include 
#include 
#include 
#include 
#include 
#include 

#define MAX_BUF_SIZE (300)
static char buf[MAX_BUF_SIZE] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 0};

int main()
{
int sock;
struct sockaddr_in sin;
int size;

sock = socket(AF_INET, SOCK_STREAM, 0);
if (sock == -1)
{
perror("client socket");
return -1;
}

memset(&sin, 0, sizeof(sin));
sin.sin_family = AF_INET;
sin.sin_addr.s_addr = inet_addr("127.0.0.1");
sin.sin_port = htons(1685);

if (connect(sock, (struct sockaddr *)&sin, sizeof(sin)) == -1)
{
perror("client connect");
return -1;
}
size = 0;
if (sock != -1)
{
size += send(sock, buf, MAX_BUF_SIZE, 0);
size += send(sock, buf, MAX_BUF_SIZE, 0);
size += send(sock, buf, MAX_BUF_SIZE, 0);
size += send(sock, buf, MAX_BUF_SIZE, 0);
size += send(sock, buf, MAX_BUF_SIZE, 0);
}
printf("client send %d bytesn", size);
close(sock);
}


|
//serv
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 

#define MAX_BUF_SIZE (1024)
static char buf[MAX_BUF_SIZE];

int display_address(const char *msg, struct sockaddr_in* p_sin)
{
if(p_sin->sin_family != AF_INET) 
{     
fprintf(stderr, "Not an Internet socket.n");     
return -1;
}
fprintf(stdout, "%s ==> address is: %s : %dn", msg, inet_ntoa(p_sin->sin_addr), ntohs(p_sin->sin_port));
   return 0;
}

int main()
{
int sock, serv;
struct sockaddr_in sin;
int size;
fd_set set;

FD_ZERO(&set);

serv = socket(AF_INET, SOCK_STREAM, 0);
if (serv == -1)
{
perror("server socket");
return -1;
}

memset(&sin, 0, sizeof(sin));
sin.sin_family = AF_INET;
sin.sin_addr.s_addr = htonl(INADDR_ANY);
sin.sin_port = htons(1685);

if (bind(serv, (struct sockaddr *)&sin, sizeof(sin)) == -1)
{
perror("server bind");
return -1;
}  

listen(serv, 5);

memset(&sin, 0, sizeof(sin));
size = sizeof(sin);
if (getsockname(serv, (struct sockaddr *)&sin, &size) == -1)
perror("serv sockname");
display_address("server socket name", &sin);
sock = accept(serv, NULL, NULL);

if (sock != -1)
{
memset(&sin, 0, sizeof(sin));
size = sizeof(sin);
if (getpeername(sock, (struct sockaddr *)&sin, &size) == -1)
perror("sock peername");
display_address("sock peer name", &sin);
memset(&sin, 0, sizeof(sin));
size = sizeof(sin);
if (getsockname(sock, (struct sockaddr *)&sin, &size))
perror("sock sockname");
display_address("sock socket name", &sin);

//sleep(1);
while(1)
{
FD_SET(sock, &set);
select(FD_SETSIZE, &set, NULL, NULL, NULL);
size = recv(sock, buf, MAX_BUF_SIZE, 0);
if (size 

    
 
 

您可能感兴趣的文章:

  • php获取访客ip地址原理及提供七段代码供参考
  • 请教专家:如何在Unix下连接MS SqlServer。最好是有代码。能提供IODBC的相关资料代码也可以
  • 100分求助 能不能提供一些有关图像分割的算法和实现代码!谢谢
  • 介绍几个好的jsp网站好吗要提供代码和一些入门书记的
  • linux下用qt开发,qt提供类库的源代码么?
  • 请问在哪里有Linux 0.11源代码下载?第一提供可用地址的给分!!
  • 请大家提供一个Jive Version: 2.1.1 的源代码!100分奉送
  • 提供些下载linux C 编程 原代码的 下载 链接吧?
  • RedHat 7.2的源代码在哪里?各位高手有的话,麻烦提供一下
  • 初学java谁能提供简单的applet的原代码
  • 拜托提供一下十六进制和十进制之间数据转换的代码
  • 哪位大哥能不能提供一个简单一点的Telnet服务器的代码?(Linux的telnetd挺复杂的)
  • 求Delphi下读取usb口的程序及代码?提供者100分相送
  • 哪位能提供学习LINUX SOCKET编程的源代码或相关下载网站
  • 那位GGJJ能提供一下修改linux代码方面的资料,有分相送
  • 请推荐一些精灵进程编程的书籍,最好电子书籍,或者提供源代码,高分
  • 谁能提供一下在linux下用c语言编的mp3压缩解压代码,要速度比较快的,给100分
  • 请问:哪位高人有做过大批量数据打印的代码?能否提供预览功能的实现?分我不在乎,您开个口,只求能解决问题
  • 怎样将一个能int值转变为四个byte?(big endian)请提供代码实例,谢谢!
  • linux下用eclipse进行开发,尤其打开较大的python代码模块,老是会卡,请问大家有没有好点的解决办法,如能提供具体设置,不胜感激
  • 谁能给我提供一段读写硬盘主引导分区0扇区的汇编代码?急!在线等候。
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • ​Windows Server 2016提供Docker原生运行的企业级支持
  • 诚征提供JSP个人免费主页的网站,鉴于公司代理限制,各位大虾晴多多提供,以便于选择!!!
  • 一般的tcpip实现都会提供ftp,telnet,daytime,以及time等基本服务,linux上提供13端口的daytime服务吗?
  • 公司提供培训福利,想参加UNIX方面的培训,各位大侠提供下建议!
  • fosdick_j (杰) 提供的SCJP资料我已经提供下载了,快来下呀~
  • tomcat提供连接池吗?
  • 高分征解(在线等待),有谁能提供DOS下双机互连的工具LanLink5.0 。
  • 谁能提供免费的存放空间?
  • Redhat系统提供的C头文件放在哪里?autoconf这个工具在哪可以弄到?
  • 两机提供Web服务的问题,请大侠指教,急!(三根鸡毛)
  • 谁能提供kgdb内核补丁内核模块的下载
  • 谁能提供tcpdump 的源码?谢谢了.
  • 有谁可以提供点linux下wifi驱动开发的资料不?
  • shell script能为c程序提供输入数据吗?
  • 有没有高手提供以下方法:要将在Graphics存储成本地图像文件,怎么办?
  • 我想开发一个LINUX下的telnet服务器软件,大侠能否提供源码或者是链接?
  • 请问JBulider 4的序列号谁知到?能否提供给小弟?谢谢
  • 哪里有免费的jsp空间提供?绝对给分
  • 谁能提供一份unicode表??
  • 哪位提供JBuilder最新版本的下载地址和注册码?
  • 我们公司要买软件,谁能提供这方面的信息?


  • 站内导航:


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

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

    浙ICP备11055608号-3