tcp-C-编程技巧-语言-Connect-深入理解-Linux-TCP-下-linux-c-connect (tcp材料)

教程大全 2025-07-15 06:25:33 浏览

随着互联网技术的发展,TCP/IP协议已经成为网络通信中最基本的协议之一。在各种操作系统中,Linux下用C语言编写TCP程序是很常见的,其性能和效率也是其他语言所无法比拟的。下面我们来深入探讨一下Linux下C语言TCP Connect编程的一些技巧。

一、TCP Connect 函数调用流程

在Linux下,TCP Connect连接需要通过socket连接函数来完成。其调用流程如下图所示:

![TCP Connect 函数调用流程](

从图中我们可以看到,TCP Connect连接涉及了socket、bind、connect几个函数。这些函数的含义和调用方法我们在这里不做过多阐述,读者可以参考相关的资料进行学习和掌握。

二、TCP Connect 的返回值含义

在实际编程中,我们经常需要对TCP Connect函数的返回值进行判断,以判断连接是否成功建立。TCP Connect函数的返回值有以下两种情况:

1. 返回0

如果TCP Connect函数返回0,则表示连接建立成功。

2. 返回-1

如果TCP Connect函数返回-1,则表示连接建立失败。此时我们需要通过errno变量获取具体的错误信息,进一步确定问题所在。errno是一个特殊的全局变量,用于存储最近一次出现的系统错误编号。我们可以通过perror函数打印出来,帮助我们进行调试和排错。errno的取值列表可以参考Linux系统手册或相关参考资料。

三、TCP Connect 函数常见问题及解决方法

在TCP Connect编程中,常见的问题有以下几种:

1. 连接失败,返回“Connection refused”(拒绝连接)错误

出现这种错误的原因一般是目标主机不存在或者是目标主机的TCP服务没有开启。可以通过以下方法进行排查:

(1)检查目标主机的IP地址是否正确

(2)检查目标主机的网络链接是否正常

(3)检查目标主机是否运行了相关的TCP服务

2. 连接失败,返回“Connection timed out”(连接超时)错误

出现这种错误的原因一般是在TCP Connect函数调用时,目标主机没有响应,导致连接无法建立。可以通过以下方法进行排查:

(1)检查目标主机是否处于正常运行状态

(2)检查目标主机上的防火墙配置是否正常,是否会阻止入站连接

(3)检查连接对方的端口是否存在,或者该端口是否开启了防火墙

3. 连接失败,返回“Invalid argument”(无效参数)错误

出现这种错误的原因一般是TCP Connect函数的参数错误,例如socket描述符不合法等。可以通过以下方法进行排查:

(1)检查socket描述符是否为空或不合法

(2)检查地址族(AF_INET等)参数是否正确

(3)检查连接对方的端口号是否正确

以上是TCP Connect编程中常见的问题及其解决方法,当然还有其他具体问题需要具体分析。在实际编程中,我们需要不断地积累经验,不断进行实践,才能更好地掌握TCP编程技巧。

四、TCP Connect 编程实例

下面我们来看一个TCP Connect编程的实例,以便更好地理解和掌握TCP编程技巧。

#define MAX_LINE 4096

int mn(int argc, char **argv) {

int sockfd;

struct sockaddr_in servaddr;

char sendline[MAX_LINE], recvline[MAX_LINE];

if (argc != 2) {

printf(“Usage: %s \n”, argv[0]);

if ((sockfd = socket(AF_INET, SOCK_STREAM, 0))

perror(“socket error”);

memset(&servaddr, 0, sizeof(servaddr));

servaddr.sin_family = AF_INET;

servaddr.sin_port = htons(13);

if (inet_pton(AF_INET, argv[1], &servaddr.sin_addr)

printf(“inet_pton error for %s\n”, argv[1]);

if (connect(sockfd, (struct sockaddr *)&servaddr, sizeof(servaddr))

perror(“connect error”);

printf(“Before write to server.\n”);

sprintf(sendline, “Hello, %s! This is a test message.\n”, argv[1]);

write(sockfd, sendline, strlen(sendline));

printf(“After write to server.\n”);

memset(recvline, 0, MAX_LINE);

if (read(sockfd, recvline, MAX_LINE)

perror(“read error”);

printf(“%s”, recvline);

close(sockfd);

相关问题拓展阅读:

如何在linux下用tcp传输文件

一. FTP 说明linux 系统下常用的FTP 是vsftp, 即Very Security File Transfer Protocol. 还有一个是proftp(Profession ftp)。 我们这里也是简单的说明下vsftp的配置。 vsftp提供3种远程的登录方式: (1)匿名登录方式 就是不需要用户名,密码。就能登录到 服务器 电脑里面(2)本地用户方式 需要帐户名和密码才能登录。而且,这个帐户名和密码,都是在你linux系统里面,已经有的用户。 (3)虚拟用户方式同样需要用户名和密码才能登录。但是和上面的区别就是,这个用户名和密码,在你linux系统中是没有的(没有该用户帐号)二. Vsftp的安装配置2.1 安装vsftp 的安装包,可以在安装里找到。 用yum 安装过程也很简单。安装命令:yum install vsftpd2.2. 相关命令2.2.1 启动与关闭# service vsftpd startStarting vsftpd for vsftpd: # service vsftpd stopShutting down vsftpd:# service vsftpd restartShutting down vsftpd:Starting vsftpd for vsftpd: # /etc/init.d/vsftpd startStarting vsftpd for vsftpd: # /etc/init.d/vsftpd stopShutting down vsftpd:# /etc/init.d/vsftpd restartShutting down vsftpd:Starting vsftpd for vsftpd: # /etc/init.d/vsftpd statusvsftpd (pid 3931) is running…#2.2.2. 其他命令–查看vsftpd 启动状态# chkconfig –list vsftpdvsftpd:off 1:off 2:off 3:off 4:off 5:off 6:off# chkconfig vsftpd on# chkconfig –list vsftpdvsftpd:off 1:off 2:on 3:on 4:on 5:on 6:off这里看到,默认情况下从2到5设置为on了。2到5是多用户级别。 这个对应的是linux不同的运行级别。我们也可以加level 选项来指定:# chkconfig –level 0 vsftpd on # chkconfig –list vsftpdvsftpd:on 1:off 2:on 3:on 4:on 5:on 6:off我们看到0已经设置为on了。我们可以使用man chkconfig 来查看帮助:–level levels Specifies the run levels an operation should pertain to. It is given as a string of numbers from 0 to 7. For example, –level 35 specifies runlevels and 5.传统的init 定义了7个运行级(run level),每一个级别都代表系统应该补充运行的某些特定服务: (1)0级是完全关闭系统的级别 (2)1级或者S级代表单用户模式 (3)2-5 级 是多用户级别 (4)6级 是 重新引导的级别(1)查看防火墙 我一般都是把系统的防火墙关闭了。 因为开了会有很多限制。# /etc/init.d/iptables statusTable: natChain PREROUTING (policy ACCEPT)num target prot opt source destinationChain POSTROUTING (policy ACCEPT)num target prot opt source destination MASQUERADE all.168.122.0/24 !192.168.122.0/Chain OUTPUT (policy ACCEPT)num target prot opt source destinationTable: filterChain INPUT (policy ACCEPT)num target prot opt source destination ACCEPT udp.0.0.0/.0.0.0/udp dpt:ACCEPT tcp.0.0.0/.0.0.0/tcp dpt:ACCEPT udp.0.0.0/.0.0.0/udp dpt:ACCEPT tcp.0.0.0/.0.0.0/tcp dpt:67Chain FORWARD (policy ACCEPT)num target prot opt source destination ACCEPT all.0.0.0/92.168.122.0/24 state RELATED,ESTABLISHEDACCEPT all.168.122.0/.0.0.0/ ACCEPT all.0.0.0/.0.0.0/ REJECT all.0.0.0/.0.0.0/reject-with icmp-port-unreachableREJECT all.0.0.0/.0.0.0/reject-with icmp-port-unreachableChain OUTPUT (policy ACCEPT)num target prot opt source destinationYou have new Mail in /var/spool/mail/root–添加开放21号端口:# /in/iptables -I INPUT -p tcp –dport 21 -j ACCEPT# /etc/init.d/iptables statusTable: natChain PREROUTING (policy ACCEPT)num target prot opt source destinationChain POSTROUTING (policy ACCEPT)num target prot opt source destination MASQUERADE all.168.122.0/24 !192.168.122.0/Chain OUTPUT (policy ACCEPT)num target prot opt source destinationTable: filterChain INPUT (policy ACCEPT)num target prot opt source destination ACCEPT tcp.0.0.0/.0.0.0/tcp dpt:ACCEPT udp.0.0.0/.0.0.0/udp dpt:ACCEPT tcp.0.0.0/.0.0.0/tcp dpt:ACCEPT udp.0.0.0/.0.0.0/udp dpt:ACCEPT tcp.0.0.0/.0.0.0/tcp dpt:67Chain FORWARD (policy ACCEPT)num target prot opt source destination ACCEPT all.0.0.0/92.168.122.0/24 state RELATED,ESTABLISHEDACCEPT all.168.122.0/.0.0.0/3 ACCEPT all.0.0.0/.0.0.0/ REJECT all.0.0.0/.0.0.0/reject-with icmp-port-unreachableREJECT all.0.0.0/.0.0.0/reject-with icmp-port-unreachableChain OUTPUT (policy ACCEPT)num target prot opt source destination保存配置# /etc/rc.d/init.d/iptables saveSaving firewall rules to /etc/sysconfig/iptables:–重启防火墙:# service iptables {startstoprestart}(2)查看关闭selinux# sestatusSELinux status: disabled我这里在安装操作系统的时候就关闭了selinux,如果没有关闭,可以修改如下文件来关闭:# cat /etc/sysconfig/selinux# This file controls the state of SELinux on the system.# SELINUX= can take one of these three values:#enforcing – SELinux security policy is enforced.#permissive – SELinux prints warnings instead of enforcing.#disabled – SELinux is fully disabled.SELINUX=disabled# SELINUXTYPE= type of policy in use. Possible values are:#targeted – Only targeted network daemons are protected.#strict – Full SELinux protection.SELINUXTYPE=targeted#保存退出并重启系统reboot三. FTP配置文件FTP 安装好之后,在/etc/vsftpd/目录下会有如下文件:# cd /etc/vsftpd/# lsftpusers user_list vsftpd.conf vsftpd_conf_migrate.sh#vsftpd.conf: 主配置文件ftpusers: 指定哪些用户不能访问FTP服务器user_list: 指定的用户是否可以访问ftp服务器由vsftpd.conf文件中的userlist_deny的取值来决定。# cat user_list# vsftpd userlist# If userlist_deny=NO, only allow users in this file# If userlist_deny=YES (default), never allow users in this file, and# do not even prompt for a password.# Note that the default vsftpd pam config also checks /etc/vsftpd/ftpusers# for users that are denied.我们过滤掉#的注释后,查看一下vsftpd.conf 文件:# cat /etc/vsftpd/vsftpd.conf Grep -v ‘^#’;anonymous_enable=YESlocal_enable=YESwrite_enable=YESlocal_umask=022dirmessage_enable=YESxferlog_enable=YESconnect_from_port_20=YESxferlog_std_format=YESlisten=YESpam_service_name=vsftpduserlist_enable=yestcp_wrappers=YES至于这些参数的意思,在注释里有详细的说明。我们可以在vsftpd.conf 文件设置如下参数:(1)ftpd_banner=welcome to ftp service :设置连接服务器后的欢迎信息(2)idle_session_timeout=60 :限制远程的客户机连接后,所建立的控制连接,在多长时间没有做任何的操作就会中断(秒)(3)data_connection_timeout=120 :设置客户机在进行数据传输时,设置空闲的数据中断时间(4)accept_timeout=60 设置在多长时间后自动建立连接(5)connect_timeout=60 设置数据连接的更大激活时间,多长时间断开,为别人所使用;(6)max_clients=200 指明服务器总的客户并发连接数为200(7)max_per_ip=3 指明每个客户机的更大连接数为3(8)local_max_rate=50000(50kbytes/sec) 本地用户更大传输速率限制(9)anon_max_rate=30000匿名用户的更大传输速率限制(10)pasv_min_port=端口(11)pasv-max-prot=端口号 定义更大与最小端口,为0表示任意端口;为客户端连接指明端口;(12)listen_address=IP地址 设置ftp服务来监听的地址,客户端可以用哪个地址来连接;(13)listen_port=端口号 设置FTP工作的端口号,默认的为21(14)chroot_local_user=YES 设置所有的本地用户可以chroot(15)chroot_local_user=NO 设置指定用户能够chroot(16)chroot_list_enable=YES(17)chroot_list_file=/etc/vsftpd/chroot_list(只有/etc/vsftpd/chroot_list中的指定的用户才能执行 )(18)local_root=path 无论哪个用户都能登录的用户,定义登录帐号的主目录, 若没有指定,则每一个用户则进入到个人用户主目录;(19)chroot_local_user=yes/no 是否锁定本地系统帐号用户主目录(所有);锁定后,用户只能访问用户的主目录/home/user,不能利用cd命令向上转;只能向下;(20)chroot_list_enable=yes/no 锁定指定文件中用户的主目录(部分),文件:/chroot_list_file=path 中指定;(21)userlist_enable=YES/NO 是否加载用户列表文件;(22)userlist_deny=YES 表示上面所加载的用户是否允许拒绝登录;(23)userlist_file=/etc/vsftpd/user_list 列表文件限制IP 访问FTP:#vi /etc/hosts.allowvsftpd:192.168.5.128:DENY 设置该IP地址不可以访问ftp服务FTP 访问时间限制:#cp /usr/share/doc/vsftpd-1.1.3/vsftpd.xinetd /etc/xinetd.d/vsftpd#vi /etc/xinetd.d/vsftpd/修改 disable = noaccess_time = hour:min-hour:min (添加配置访问的时间限制(注:与vsftpd.conf中listen=NO相对应)例: access_time = 8:30-11:30 17:30-21:30 表示只有这两个时间段可以访问ftpftp的配置基本上只有这些了。默认情况下,ftp根目录是/var/ftp。 如果要修改这个目录位置,可以更改/etc/passwd 文件:# cat /etc/passwd grep ftpftp:x:14:50:FTP User:/var/ftp:/in/nologin创建一个用户来访问FTP,并指定该用户的FTP 目录:# useradd -d /u02/qsftp qs# passwd qsChanging password for user qs.New UNIX password:BAD PASSWORD: it is WAY too shortRetype new UNIX password:passwd: all authentication tokens updated successfully.这里指定的是/u02/qsftp 这个目录,要注意个目录的权限。更改用户不能telnet,只能ftp:usermod -s /in/nologin username //用户只能ftp,不能telnetusermod -s /in/bash username //用户恢复正常禁止用户ssh登陆useradd username -s /bin/false 更改用户主目录:usermod -d /bbb username//把用户的主目录定为/bbb然后用qs这个用户就可以访问了。以上只是一些简单的设置。 在用户权限这块还有很多内容可以研究。 比如特定用户的特定权限。 安全性等。 以后在研究了。linux c tcp connect的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于linux c tcp connect,深入理解 Linux 下 C 语言 TCP Connect 编程技巧,如何在linux下用tcp传输文件的信息别忘了在本站进行查找喔。

香港服务器首选树叶云,2H2G首月10元开通。树叶云(shuyeidc.com)提供简单好用,价格厚道的香港/美国云服务器和独立服务器。IDC+ISP+ICP资质。ARIN和APNIC会员。成熟技术团队15年行业经验。

linux

windows下怎么安装mysql数据库

用MSI安装包安装根据自己的操作系统下载对应的32位或64位安装包。 按如下步骤操作:第一步: 安装许可双击安装文件,在如下图所示界面中勾选“I accept the license terms”,点击“next”。 第二步: 选择设置类型如下图所示,有5种设置类型:Developer Default:安装MySQL服务器以及开发MySQL应用所需的工具。 工具包括开发和管理服务器的GUI工作台、访问操作数据的Excel插件、与Visual Studio集成开发的插件、通过NET/Java/C/C++/OBDC等访问数据的连接器、例子和教程、开发文档。 Server only:仅安装MySQL服务器,适用于部署MySQL服务器。 Client only:仅安装客户端,适用于基于已存在的MySQL服务器进行MySQL应用开发的情况。 Full:安装MySQL所有可用组件。 Custom:自定义需要安装的组件。 MySQL会默认选择“Developer Default”类型,个人建议选择纯净的“Server only”类型,减少对工具的依赖可以更深入的学习和理解MySQL数据库。 大家可根据自己的需求选择合适的类型,这里选择“Server only”后点击“next”。 第三步: 安装进入到安装步骤的界面,如果第二步选择的是其他类型也只是点击“next”即可进入到该步骤,点击“Execute”。 安装完成后点击“next”直到进入配置页面。 第四步: 配置进入到配置页面。 点击Content Type的下拉框,显示有三种类型:Development Machine:开发机器,MySQL会占用最少量的内存。 Server Machine:服务器机器,几个服务器应用会运行在机器上,适用于作为网站或应用的数据库服务器,会占用中等内存。 Dedicated Machine:专用机器,机器专门用来运行MySQL数据库服务器,会占用机器的所有可用内存。 根据自己的用途选择相应的类型配置,我这里为了后面做高并发性能测试便选择“Server Machine”类型。 选择好配置类型后进行连接配置。 常用的是TCP/IP连接,勾选该选项框,默认端口号是3306,可在输入框中更改。 若数据库只在本机使用,可勾选“Open Firewall port for network access”来打开防火墙,若需要远程调用则不要勾选。 下面的“Named Pipe”和“Shared Memory”是进程间通信机制,一般不勾选。 “Show Advanced Options”用于在后续步骤配置高级选项,为尽可能多的了解MySQL的可配置项,这里勾选该选项框。 点击“next”进入下一步。 第五步: 账户配置进入到MySQL的账户和角色配置界面。 root账户拥有数据库的所有权限,在密码框输入自己设置的密码。 数据库在开发和维护过程中为了安全性和便于管理会为不同的用户授予相应操作权限的账户密码,点击“Add User”按钮,在弹出的会话框中设置不同权限等级的账户。 Host表示能连接到该数据库的主机地址,可设置为本地(localhost/127.0.0.1)、一个外部IP(如218.17.224.228)、一个外部网段(如218.17.224.*)或者所有主机(%)。 Role表示该账户的角色。 不同的角色有着不同的权限等级,暂时可不做配置,后续会在用户权限管理章节详细讲解。 第六步: 配置Windows Service将MySQL服务配置成Windows服务后,MySQL服务会自动随着Windows操作系统的启动而启动,随着操作系统的停止而停止,这也是MySQL官方文档建议的配置。 Windows service Name可设置为默认值,只要与其它服务不同名即可。 在Windows系统中基于安全需求,MySQL服务需要在一个给定的账户下运行,选择默认的Standard System Account即可。 保持默认配置后点击“next”。 第七步: 高级配置因为在前面的第四步中勾选了“Show Advanced Options”选项,所以出现如下图所示的高级选项配置:在这里可配置各种日志文件的存储路径,它默认存储在MySQL安装目录的data目录下面,若非必须不建议改动。 Slow Query Log(慢查询日志)后面有一个Seconds配置项,默认值为10,表示一个SQL查询在经过10s后还没有查询出结果就会将此次查询记录到Slow Query Log中,方便DBA快速找到低效的操作。 Bin Log可用于主从数据同步。 最下面的Server Id用于Master-Slave配置。 这些都将在后续课程中讲到,这里保持默认配置即可。 点击“next”。 第八步: 服务器配置应用经过上述配置后,一个MySQL数据库已基本配置完成。 进入到这一步骤后点击“Execute”执行配置项。 安装成功,点击“Finish”完成。 用压缩包安装根据自己的操作系统下载对应的32位或64位的压缩包。 按如下步骤操作:第一步: 解压缩将压缩包解压到C:\Program Files\MySQL路径下,也可以自定义路径。 我的路径为C:\Program Files\MySQL\mysql-5.7.10-winx64。 第二步: 配置环境变量右键点击“计算机”,选择“属性”,依次打开“高级系统设置”->“环境变量”,在系统变量中选择“Path”项,并点击编辑。 保持原有值不变,并在末尾加上英文分号后追加C:\Program Files\MySQL\mysql-5.7.10-winx64\bin,将MySQL安装路径下的bin目录配置到Path变量中,使在命令行的任何目录下可以执行MySQL命令。 第三步: 修改配置打开MySQL安装目录下面的文件,找到basedir和datadir属性项,去掉前面的注释符号#,修改值如下:basedir = C:\Program Files\MySQL\mysql-5.7.10-winx64datadir = C:\Program Files\MySQL\mysql-5.7.10-winx64\data分别表示MySQL的安装目录和数据目录。 如果在第一步中解压缩到其它的文件夹则修改对应的值。 再将该文件重命名为。 第四步: 安装以管理员身份运行cmd,进入到MySQL的bin目录,执行初始化命令:mysqld --initialize --user=mysql --console1该命令用来初始化数据,在5.7以前的版本是不需要执行该命令的。 初始化完成后会提供一个临时的root密码,如下图红色方框,记下该密码。 再执行如下命令进行MySQL服务安装:mysqld –install mysql1mysql为默认的服务名,可不写。 需要注意的是一定要以管理员身份运行cmd。 第五步: 启动服务在管理员cmd窗口中执行如下命令来启动MySQL服务:net start mysql1当出现如下图所示提示时表示MySQL安装并启动成功。 MySQL5.7以前的版本在安装时不需要执行第四步中的mysqld –initialize命令,如果漏掉该命令后在此步骤会出现如下错误:因为该版本的压缩包里面有些文件和文件夹(如data文件夹)需要在执行mysqld -initialize命令后才创建。 我在用5.6版本的安装步骤来进行安装时就在这里吃过很多亏,希望以此为戒,不再踩坑。 第六步: 登录执行如下命令:mysql -uroot -p1提示输入密码,输入第四步中记录下的密码,按回车后出现如下页面表示登录成功,并进入了MySQL命令行模式。 第七步: 修改密码在MySQL命令行执行如下命令:ALTER USER root@localhost IDENTIFIED BY new_password1大家改成自己的密码。 如果没有修改密码就执行其它的SQL命令。 经过以上步骤后MySQL服务器安装完成。

error:could not connect to server:localhost

你在网卡参数没有复制粘贴错误的情况下,你注意看一下要先启动虚拟服务再打开CCNA控制台,这两个东西都是实验结束前不能关闭,如果没有打开虚拟服务就打开控制台,那就会error:could not connect to server:localhost

以下是我在CNDS上看到的一篇文章,感觉很好就一直保存着,下面发给你,希望对你有些用。 如果你的学历和能力,只能进入一般的软件公司或集成公司,那么选择微软的技术体系不错。 因为微软体系,网上很多学习资料,而且大量的企业应用是用微软技术开发的,而且很多公司也用微软技术。 所以公司多,你好找工作。 微软的技术一般固定:C#++SQLSERVER+Visual Studio。 如果你的学历和能力,能进入做大型企业应用的公司,那么你就选择JAVA的技术体系。 因为现在大型企业,基本都用JAVA开发。 你可以从eclipse、structs、hibernate、WebService、Tomcat、Apache、JBoss、POJO、Oracle开始学习,然后再学习WebLogic、WebSphere、Portal技术、工作流技术。 如果你想进入互联网公司或web2.0创业公司。 那么一般Php、Mysql、Apache、Ruby on Rails、Python是你的学习目标。 如果你想进入手机开发,那么Symbian和C++(Nokia,市场份额最大)、J2ME(android产品,google发布,还未正式生产,但笔者认为很有前途)、Windows Mobile(微软,好开发,从开发思路到工具到语言,都是你所熟悉的)。 这三类都会三者鼎立,谁也不会把谁干掉。 至于5年之后,就不好说,至少5年内,是手机时代,是手机无线时代,每个厂商都在争抢这一块未来最有钱途的肉。 如果你想进入目前炙手可热的网游公司。 做服务器端,你得C++过硬、网络传输技术过硬、并发线程处理、了解Linux编程要和了解windows编程一样深入。 如果你想做客户端,那么图形图像处理算法你得首先过关。 当然,现在很多引擎、工具、AI包、材质库、脚本减少了不少客户端编程的难度。 如果你想进入现在已经未来10年内一直很热的嵌入式编程,那么C++,而且你的单片机编程你得过关。 中国是世界第一制造大国,而且这种局面在5-10年内也很难改变。 制造,过去比谁的工人成本低。 但是现在材料和人工的增长,使制造压力巨大。 就只能提升自己的制造能力。 制造高尖端的产品,就需要高尖端的流水线。 而且,中国的电子产品也越来越强大,日本产品从最初的独霸中国,渐渐变成了中国国货的天下。 在手机上、数码相机上、家电、冰箱、DVD、空调、汽车、交通、医疗、数控,等等,很多领域需要嵌入式编程。 就连咱们的嫦娥一号也是嵌入式编程的典范。 华为、中兴这些通信设施也是嵌入式编程范围。 当然,你也可以剑走偏锋。 过去是Notes编程,随着国产OA的兴起,Notes编程渐渐衰退。 但是,中国现在大型企业都在上线ERP,而且大多用的是Oracle或SAP的ERP。 这些ERP产品,都提供了客户化定制编程开发环境,提供了完备的应用API。 大型企业应用ERP,都需要定制化开发,大量缺乏这类人才。 但是,市面上这些学习资料都非常少,这是个难题。 另外,现在的外包也非常热,各地建立外包园,就跟当年建立软件园一样群起。 想进入外包公司,首先日语或英语需要过关。 咱们国家的外包,一般来自日本和欧美。 在开发中,一般也是三种语言的主流:C++、C#、JAVA。 所以,从以上分析来看,C++、C#、JAVA,都是当今的主流。 都在各方面都应用很广。 你选择哪一类都会有很多的机会和空间。 但如果你学了C++,又怕以后碰不到C++的工作,还要学C#,还要学JAVA,那么你终将一事无成。 不要怕,钻一门足矣。 不过,拥有了一份技术技能,你能应聘进入一家公司。 但是,一家软件公司如何管理,你是否适合这种管理,你在这个团队中能扮演什么角色,你在公司中奋斗的路径是什么,我会在下一篇详细介绍软件公司管理的时候给大家讲到。 我是工作2年后就跳一次,然后加15%的薪水呢,还是有计划的发展我的IT职业呢?还是我就混一混,不好玩我就换行业呢?你的路,你自己把握。 但,千万不要自己玩自己,不好玩。

本文版权声明本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请联系本站客服,一经查实,本站将立刻删除。

发表评论

热门推荐