首页编程java编程socket编程 c语言?java socket 编程

socket编程 c语言?java socket 编程

编程之家2026-05-21889次浏览

大家好,感谢邀请,今天来为大家分享一下socket编程 c语言的问题,以及和java socket 编程的一些困惑,大家要是还不太明白的话,也没有关系,因为接下来将为大家分享,希望可以帮助到大家,解决大家的问题,下面就开始吧!

socket编程 c语言?java socket 编程

C语言socket编程要怎么实现服务器可以发消息给客户端

先要理解socket是什么?

简单的说socket是一个全双工的通信通道,

即使用TCP或者UDP通信时均可以在发送消息的同时接受消息,

它不区分是否是服务器。

根据这个概念你的问题就很好回答。

》当客户端与服务器连接后。有什么方法使服务器可以随时随地发消息给客户端?

socket编程 c语言?java socket 编程

》我现在只能。客户端发个消息给服务器。服务器才能发个消息给客户端。也就是说客户端不发消息。服务器就没法发消息给客户端。

》求大牛给个思路。当连接后。客户端与服务器双方可以随时随地通信!

使用多线程,一个维持接受逻辑,一个维持送信逻辑,即可完成同时接受及发送。

客户端及服务器端均做上述设置。

而你的做法是在一个线程中执行接受与送信,因此只能按照顺序逻辑完成接收与送信。

关键点是多线程。

socket编程 c语言?java socket 编程

计算机网络socket linux下用c或c++写

我这有一段最简单的SOCKET连接服务端的~!前阵子装Ubuntu 10后写着实验用的,这是最基本的TCP服务端框架。各种函数的条用跟 WINDOWS下的一样(我说的WINDOWS下可不是MFC喔~!)客户端自己琢磨,不懂的话再发你~!至于你要的细节,我感觉还是自己写的好

人不能太懒~!必须深入认识否则你领略不到 C程序设计的精髓~!

//////////代码如下//////////////////////////////////////////////////

/////////////////////////////////////////////////////////////////////////////////////

///////////////////////// H*F*W 2010.05.21 In GuangZhou///////////////////////////

///////////////////////// LINUX SOCKET实验最简单服务端///////////////////////////

/////////////////////// linux编程 SOCKET,GTK有共同兴趣的朋友+我 Q: 176469428////////

#include<stdio.h>

#include<string.h>

#include<sys/socket.h>

#include<netinet/in.h>

int Hlisten(unsigned short hport)

{

int hsock,rhsock,cc,alen,ret;

struct sockaddr_in hlsock;

char hbuf[65535];

if((hsock=socket(AF_INET,SOCK_STREAM,0))==-1){printf("Error in socket()\n");return 0;}//建立套接字

memset(&hlsock,0,sizeof(hlsock));//初始化SOCKET空间

hlsock.sin_family=AF_INET;

hlsock.sin_port=htons(hport);///监听端口

hlsock.sin_addr.s_addr=htonl(INADDR_ANY);///地址族

ret=1;

setsockopt(hsock,SOL_SOCKET,SO_REUSEADDR,&ret,sizeof(ret));

if(bind(hsock,(struct sockaddr*)&hlsock,sizeof(hlsock))==-1){printf("Error in bind()\n");return 0;}//帮定

if(listen(hsock,0)==-1){printf("Error in listen()\n");return 0;}///进入监听状态

alen=sizeof(hlsock);

rhsock=accept(hsock,(struct sockaddr*)&hlsock,&alen);///接受客户端接入

while(1)

{

memset(hbuf,0,sizeof(hbuf));

cc=recv(rhsock,hbuf,sizeof(hbuf),0);///等待接收数据

if(cc==-1)break;

printf("%s",hbuf);///显示接收内容

}

close(hsock);//关闭连接

return 0;

}

int main(int argc,char*argv[])

{

//if(argc<=1){printf("usge: [port]");return 0;}

Hlisten(330);//调用监听过程传入监听端口

return 0;

}

///////////////////////////////////////////////////////////////////

//////////////////////////////////////////////////////////////

//////////////////使用gcc编译直接就可以看到效果////////////////

/////////////////////////////////////////////////////////////////

linux下C语言用socket网络编程怎么计算传输速度

这要你的通信程序协商一个协议,比如定义一个通信结构体,传文件的时候,一开始发送结构体的信息过去,告诉对端你的文件总大小,然后,传输过程中,统计已经收到或者发送的数据,做个除法就得到速率了。

具体这类协商,你可以自己随便想,也可以借鉴现有的比较好的一些设计,有些考虑断点续传的技术,还有压缩的,看你代码也不需要考虑吧。

OK,本文到此结束,希望对大家有所帮助。

生活中数据库系统的实例(生活中有哪些数据库)代码编辑器是干什么用的 新手写代码用什么编辑器