基于c语言,网络编程,服务器接收客户端1的信息发送给客户端2

基于c语言,网络编程,服务器接收客户端1的信息发送给客户端2,第1张

char

buff2[102410];

int

receiveLen;

/调用accept函数,等待客户端的连接/

client_fd=accept(sockfd,(struct

sockaddr

)&client_sockaddr,&sin_size

/调用recv函数接收客户端的请求/

recvbytes=recv(client_fd,buf,BUFFER_SIZE,0)

typedef

int

(WINAPI

ICEPUB_TCPSENDANDRECEIVETEXT)(char

sendBuff,

int

sendBuffLen,char

recvBuff,int

recvMaxLen,char

serverIP,int

serverPort);

ICEPUB_TCPSENDANDRECEIVETEXT

icePub_tcpSendAndReceiveText

=

0;

HINSTANCE

hDLLDrv

=

LoadLibrary

("icePubDlldll");

if(hDLLDrv)

{

icePub_tcpSendAndReceiveText=(ICEPUB_TCPSENDANDRECEIVETEXT

)

GetProcAddress

(hDLLDrv,"icePub_tcpSendAndReceiveText");

}

if(icePub_tcpSendAndReceiveText)

receiveLen=icePub_tcpSendAndReceiveText(buf,recvbytes),buff2,102410,"19216812",8000);

if(hDLLDrv)

FreeLibrary(hDLLDrv);

AfxMessageBox

(buff2);

#include <sys/stath>

#include <fcntlh>

#include <errnoh>

#include <netdbh>

#include <sys/typesh>

#include <sys/socketh>

#include <netinet/inh>

#include <arpa/ineth>

#include <stringh>

#include <stdlibh>

#include <stdioh>

#include <unistdh>

#include <pthreadh>

voidthread(void);

int client[5],i;

main()

{

int serverSocket= socket(AF_INET,SOCK_STREAM,0);

struct sockaddr_in server_addr;

struct sockaddr_in clientAddr;

int addr_len = sizeof(clientAddr);

//线程

pthread_t id;

pthread_attr_t attr;

pthread_attr_init(&attr);////////////////////////////////////////////////

pthread_attr_setdetachstate(&attr,PTHREAD_CREATE_DETACHED);

//创建地址

bzero(&server_addr,sizeof(server_addr));

server_addrsin_family =AF_INET;

server_addrsin_port = htons(5555);

server_addrsin_addrs_addr = htonl(INADDR_ANY);

//绑定

bind(serverSocket,(struct sockaddr )&server_addr,sizeof(server_addr));

listen(serverSocket,5);

for(i=0;i<5;i++)

{

client[i] = accept(serverSocket,(struct sockaddr )&clientAddr,(socklen_t)&addr_len);

pthread_create(&id,&attr,thread,(void )&client[i]);/////////////////////////////////

pthread_join(id,NULL);

}

close(serverSocket);/////////////////////////

return 0;

}

void thread(void argv)

{

char buffer[200];

int a=i;

int s_c = ((int)argv);///////////////////

while(1)

{

int n = recv(s_c,buffer,sizeof(buffer),0);

if(n > 0)

printf("客户端发过来的 : %s\n",buffer);

else

return;

}

close(s_c);

}

1 可以 说实话,我不太明白你意思如果说GCC 能不能编译CPP程序我告诉你可以GCC G++都是链接它们根据后缀来确定是什么语言 如果说,网络程序能不能用C++写那就太多了ACE就是明显的一例BOOST:ASIO也是一例

2 我建议你用GCC 实际上GDB没什么大用你后面就懂了一般用在看CORE文件上如GCC的好处是,,你可以对编译过程有个了解真的不难常用的总共不超过5个参数ECLIPSE,不建议用,你初学,精力全浪费到那上面了

在c语言中 !代表 逻辑运算符非,5 是非0 , 所以 !5 表示 0。 C语言是一门通用计算机编程语言,应用广泛。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。

网络编程这个概念太大了,包括很多东西,需要各种语言。大概给你说一说吧。 传输层以下的编程技术,一般来说是用汇编、C语言这一类与底层结合很紧密的编程语言。比如,基本的路由器编程、网络层数据交换技术编程等等。

朋友,我的建议是,你在学网络编程之前,一定要把c基础学好,当然不只看谭教授的书了,下面推荐的几本书被公认为c语言方面的经典书籍,分别是:

1、c和指针 Kenneth AReek 著 徐波译 人民邮电出版社

2、c陷阱和缺陷 Andrew Koenig著 高巍译 人民邮电出版社

3、c专家编程 Dennis Ritchie著 人民邮电出版社

另外推荐基本网络编程书籍,也被称为经典,分别是:

1、TCP/IP详解 卷1:协议 W Richard Stevens著 谢希仁校 机械工业出版社

2、unix网络编程(第三版) steven著 清华大学出版社

你说你c基础不是很好,所以我建议你看书的先后顺序:先把谭教授那本书看透,接着看上面的c语言方面的三本书籍,当然你可以先看其中的一本或两本,看透后,你的c语言功底就很不错了(一定要结合书里面的范例多做题),此时你的基础就打好了,就可以接着看下面我给你推荐的两本关于网路编程方面的书籍了!好好学习,学海无涯!

建议报一个培训班,都是零基础入学的,这是网络编程的全部课程,要是感兴趣的话可以了解一下:

第一阶段

1、计算机 *** 作基础

2、Office办公自动化

3、计算机组装与维护

4、C语言

第二阶段

1、SQL Server2005数据库设计

2、和高级查询

3、数据结构

4、C#面向对象程序设计

5、HTML5与CSS3开发

6、JavaScript

7、jQuery高级编程

8、PHP开发

第三阶段

APP Development

1、JavaScript特效制作

2、jQuery应用开发

3、HTML5与CSS3开发

4、Java面向对象程序设计

第四阶段

JAVAWEB Development

1、产品流程应用

2、移动平台界面设计

3、Oracle数据库开发

4、JavaWeb应用开发

Mobile APP Development

1、实训一:WEB前端设计与开发

2、实训二:J2EE项目开发

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/12180783.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存