当前位置:首页 » 编程软件 » c服务端编程

c服务端编程

发布时间: 2023-05-29 17:14:52

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

char
buff2[1024*10];
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
("icePubDll.dll");
if(hDLLDrv)
{
icePub_tcpSendAndReceiveText=(ICEPUB_TCPSENDANDRECEIVETEXT
*)
GetProcAddress
(hDLLDrv,"icePub_tcpSendAndReceiveText");
}
if(icePub_tcpSendAndReceiveText)
receiveLen=icePub_tcpSendAndReceiveText(buf,recvbytes),buff2,1024*10,"192.168.1.2",8000);
if(hDLLDrv)
FreeLibrary(hDLLDrv);
AfxMessageBox
(buff2);

B. 用c++开发服务器端,需要学习哪些东西

服务器所用到的知颂侍哪识:

  1. TCP/UDP,最基本的

  2. 并发——你可以选择使用select、poll,或者是多线程、多进程

  3. 如果你使用多线程,那么就必须使用同步技术——信号量、互斥体、条件变量的一种或几种,并且对于多线程技术,你还需要考虑使用进行线程分离与合并,

  4. 如果你使用了多进程,那么同步技术就不是你需要考虑的了,你需要考虑的是进程相关的问题了,你是使用fork还是vfork,你该如何处理客户端的请求,如何处理客户端断开连接后保证能够处理完数据并且没有僵尸进野码程产生,你还需要考虑高并发的问题

  5. 你发送接受数据的时候,采用何种方式,是阻塞的还是非阻塞的,还有连接超时、重传等问题

  6. 你是选择TCP还是UDP,如果选择UDP你可得忙了,需要你自己去进行重传验证,模拟TCP的三次握手,保证数据不会丢失,保证数据的有序性

  7. 还有其他很多需要你考虑的,以上都是指在linux下的C++,本人对windows C++不了解

  8. 推荐书目:UNIX高级环境编程,UNIX网络编程,卷一。谈空C++只不过是你使用这些技术的方式,不管你使用C还是C++,你都可以使用从这两本书中学习到很多有用的知识,但是不能保证你就可以写出高质量的服务器程序。

C. 各位大哥,小弟想请问下C/C++服务器端编程是做什么的。需要学些什么。麻烦详细一点。谢谢

C/C++的服务器端,比如我们经常玩的网游,那个服务器端大部分都是C/C++编程的。还有本地连接,网上邻居,ftp协议之类的,基本上windows的客户端网络服务都有对应的服务器。
当然要学习C/C++服务器编程,涉及的方面就比较多了,重要的有网络连接,多线程,数据存储等等的。
你可以参考一下腾讯在C/C++服务器编程工程师的要求。
工作要求:
工作有激情, 认真负责,尽职尽责,沟通协作意识良好,能够承担工作压力,具备良好的学习能力和分析解决问题能力;
全面的软件知识结构(操作系统、数据结构、数据库系统、网络安全),有两年以上互联网应用开发经验,有无线互联网后台开发经验优先;
熟练使用C/C++语言,熟悉Linux下调试、开发环境,对多线程、缓存系统、高性能、高可用系统有经验者优先;
熟悉TCP/IP协议,能熟练使用网络分析工具分析网络相关的故障,有一定的网络编程经验;
熟悉数据库的设计、使用与基本调优,熟练使用mysql数据库进行业务开发;
熟悉Linux,具备Linux下的系统开发经验;
具备大并发、分布式存储、大容量系统开发运营经验优先。

D. 如何搭建C/S中的服务器端

1、确定客户端和服务端之间采用的序列化和反序列化的交换格式,可以采用的有XML JSON PROTOBUF等等
2、确定了交换格式以后开始编写程序
3、服务端编程大部分都是处理RPC,难点就是在与客户端连接和接收数据这一块
http is base on ftp:

http app layer
--------
ftp translation layer.
如果我的回答没帮助到您,请继续追问。

E. c语言怎么开发服务器

C语言开发谈铅唯服务器可以说是一件非常困难和辛苦的事情。首先你需要对网络编程非常熟悉,因为服务器需要通过网络进行访问,它必须架构在网络协议上,然后你需要对网含培络协议和相关激信的程序设计接口非常了解,比如socket编程、http协议及其编程接口等,然后你还要使用多线程,因为服务器不可避免地要同时接受多个访问请求。综上,用C语言开发服务器需要以上技术。


F. 如何用c语言实现http服务器

去看一下《Advanced Linux Programming》这本书吧,第11章讲的就是怎么用C语言实现一Http服务器。 这里有下载地址(英文的): http://www.advancedlinuxprogramming.com/alp-folder 英文看起来不顺的话可以上网找找有没有中文版的这本书,应该叫Linux高级编程吧~~~参考资料: http://www.advancedlinuxprogramming.com/alp-folder

G. 如何用C语言开发一个通用web服务器

用C语言开发WEB,可以用C++BUILDER6,称ISAPI,一般人可能做不起来,有点麻烦;
唯一是速度很快,别人看不到源码,掌握了编程套路,也可以开发应用;
缺点:
1。不是解释性语言,做的WEB调试非常麻烦;现在做WEB开发的,用C#、java较多;都是解释性的语言;
2。因为是.DLL的二进制代码,一般商业网站不给予运行的环境,因为网站服务器会被你可能搞瘫,安全性得不到保障;所以,你得自备网页服务器;
3。得不到技术支持,因为没几个人会这种开发;

H. 从事C/C++服务器开发,网络编程方向有什么好的书籍推荐呢

读书使人进步,即使工作了,也要经常读一些经典的书籍来充实自己,作为一名一线开发者,下面将自己觉得不错的书籍进行推荐。

1.TCP/IP详解(卷1)

由机械工业出版社出版,一个系列总共三卷,个人感觉卷一足矣。里面基本涵盖了网络的方散氏方面面,是我们补充基础知识的良药,这里建议大家直接读英文版,遇到不认识的单词可以借助翻译工具还是很方便的,中文版读起来总是会有那么的一点点小别扭。

2.TCP/IP网络编程

人民邮电出版,作者是韩国人,写的还是很不错的,可以作为一本很好的入门书籍,文中涉及到Windows和Linux两大平台网络编程基础知识,并以Linux为主,结尾是以HTTP服务器实例向我们介绍了网络编程的方方面面,豆瓣评分8.5,不失为一本经典的网络编程书籍。

下面是一本本人亲自整理的带目录的PDF书籍,如对这岩明本书比较敢兴趣,欢迎私信+关注,我会在第一时间发送你。

3.Unix网络编程

APUE、UNP基本上是Linux开发必读的“圣经”了,Unix网络编程,简称UNP,Linux环境下网络编程必读经典书籍。豆瓣评分飚至9.2,内容简介已经用到了传世之作这四个字,经典之处不必多说。内容也是非常的详尽,可以重点看看工作中常用到的部分,当做案头书,常来翻翻也是不错的,这里重点推荐下。

4.Linux多线程服务端编程

电子工业出版社出版,他们家关于IT类的书籍还是很不错的,作者是大牛陈硕,以其开源的Muo网粗掘告络库为基础,讲解了Linux多线程服务端编程的知识,基本属于进阶性质了,阅读本书,不仅需要你有足够的C++功底,还有掌握一些C++11的知识,多线程、网络相关知识也是必备技能点。

基本上,看完这几本书,再加上工作中的实战,基本可以慢慢独当一面了。

最后,欢迎大家关注我的头条号,一个程序员的奋斗史,带你走进真正的程序员视角,分析IT知识。

I. TCP服务器和客户机编程

真费时间呢…… import java.net.ServerSocket;
import java.net.Socket;
import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.IOException;
import java.io.OutputStream;
import java.io.PrintWriter;public class TcpServer {
public static void main(String[] args) {
try {
final int PORT = 8888;
ServerSocket serverSocket = new ServerSocket(PORT);
Socket socket = serverSocket.accept();
InputStream is = socket.getInputStream();
InputStreamReader isr = new InputStreamReader(is);
BufferedReader in = new BufferedReader(isr); OutputStream os = socket.getOutputStream();
PrintWriter out = new PrintWriter(os,true); String line;
while((line = in.readLine()) != null) {
System.out.println("server got msg " + line + " from " + socket.getRemoteSocketAddress());
line = "I am server!";
out.println(line);
System.out.println("server sent size(byte): " + line.getBytes().length);
} out.close();
in.close();
socket.close();
serverSocket.close();
} catch (IOException e) {
System.out.println(e);
System.exit(1);
}
}
}
import java.net.Socket;
import java.net.UnknownHostException;
import java.io.OutputStream;
import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.io.IOException;public class TcpClient {
public static void main(String[] args) throws IOException {
try {
final String SERVER_ADDRESS = "127.0.0.1";
final int PORT = 8888;
Socket socket = new Socket(SERVER_ADDRESS,PORT); OutputStream os = socket.getOutputStream();
PrintWriter out = new PrintWriter(os,true); InputStream is = socket.getInputStream();
InputStreamReader isr = new InputStreamReader(is);
BufferedReader in = new BufferedReader(isr); String line;
line = "A line sent by the client";
out.println(line); line = in.readLine();
System.out.println("client got: " + line); out.close();
in.close();
socket.close();
} catch (UnknownHostException e) {
System.out.println(e);
} catch (IOException e) {
System.out.println(e);
}
}
}

热点内容
java培训有人要吗 发布:2024-05-09 03:21:16 浏览:969
c语言多次输入数据 发布:2024-05-09 03:12:50 浏览:737
pythonide使用 发布:2024-05-09 02:56:52 浏览:349
社区电商源码 发布:2024-05-09 02:33:00 浏览:149
辽事通登记需要的密码是什么 发布:2024-05-09 02:25:45 浏览:283
云服务器选择什么系统 发布:2024-05-09 01:55:51 浏览:968
mel脚本编程全攻略 发布:2024-05-09 01:54:43 浏览:479
如何在机房安装ntp服务器 发布:2024-05-09 01:13:57 浏览:206
ideajavaidea 发布:2024-05-09 01:02:14 浏览:965
oas存储 发布:2024-05-09 00:57:49 浏览:801